pale_rider
pale_rider

Reputation: 309

Facebook Javascript SDK post to feed giving "An error occured. Please try later" error

I'm using the JS SDK to post something on the user's timeline. My website is hosted using site44 and so has a url of the type http://domainname.site44.com. This is the code I'm using:

<script>        
window.fbAsyncInit = function() {
    FB.init({
      appId      : '{*********}', // APP ID
      channelURL : 'http://domainname.site44.com/channel.html',
      xfbml      : true,
      version    : 'v2.0'
    });
};

(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "http://connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

function share(){
    FB.ui({
        method: 'feed',
        name: 'something',
        caption: 'something',
        description: (
            'something'
        ),
        link: 'http://domainname.site44.com',
        picture: 'imageLinkInsertedHere'
    });
}
</script>

In the channel.html file I have this code:

<script src="http://connect.facebook.net/en_US/all.js"></script>

and I trigger the share() function when a user clicks on a button using javascript's onclick="share()".

I tested this on fbrell and it works perfectly. However when I use it on my site the pop up gives an error saying An error occurred. Please try later. I've gone through other similar questions on Stack Overflow and none of them helped. I also have the correct domain added in my APP settings. What am I doing wrong?

Upvotes: 1

Views: 1309

Answers (1)

Sahil Mittal
Sahil Mittal

Reputation: 20753

The appId must not include the curly braces {/}. Rest of the code seems fine.

But another thing that you should know is that the Feed Dialog is now deprecated. You should now use the modern Share Dialog instead. Here's the example for the same.

Upvotes: 2

Related Questions