I need a little help with getting some JSON out of facebook, basically all I need to do is get the status text and post it to a website.
I’m using the method below, but the access_tokens with this method expires every hour.
$.getJSON('https://graph.facebook.com/SOME_ID?fields=statuses.limit(10).fields(message)&access_token=SOME_ACCESS_TOKEN', function(data) {});
Note that i got the URL above from facebook graph API explorer.
any other way to achieve what I am trying to do?
update:
I used FB.api, but i’m not sure if I’ve done it correctly as it is sending me this error
“An access token is required to request this resource.”
window.fbAsyncInit = function() {
FB.init({
appId : 'My_app_id', // App ID
channelUrl : '//myHost.com/facebook/channel.php', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.api('USER_ID?fields=statuses.fields(message)', function(response) {
console.log(response);
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
Note that i replaced (my_app_id, myHost.com and USER_ID) with the right values.
thanks in advance.
The user needs to be logged in to Facebook and allow your app before you can call the API, update your code to this:
More information on the getLoginStatus status: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
You will also need to also need to ask the permission user_status see the doc for more details: https://developers.facebook.com/docs/authentication/permissions/
You should ask for permissions when calling FB.login:
https://developers.facebook.com/docs/reference/javascript/FB.login/