我需要一些帮助才能从Facebook获取一些JSON,基本上我需要做的就是获取状态文本并将其发布到网站。
我正在使用下面的方法,但使用此方法的access_tokens每小时都会过期。
$.getJSON('https://graph.facebook.com/SOME_ID?fields=statuses.limit(10).fields(message)&access_token=SOME_ACCESS_TOKEN', function(data) {});
请注意,我从脸谱图API资源管理器获得了上面的网址。
任何其他方式来实现我想要做的事情?
的更新 的
我使用了FB.api,但我不确定我是否已正确完成,因为它正在向我发送此错误 “请求此资源需要访问令牌。”
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));
请注意,我用正确的值替换了(my_app_id,myHost.com和USER_ID)。
提前感谢。
答案 0 :(得分:1)
假设你已经实现了Javascript SDK,我建议使用FB.api方法。
https://developers.facebook.com/docs/reference/javascript/FB.api/
答案 1 :(得分:0)
用户需要登录Facebook并允许您的应用才能调用API,将代码更新为:
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.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.api('USER_ID?fields=statuses.fields(message)', function(response) {
console.log(response);
});
}
});
};
有关getLoginStatus状态的更多信息:http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/
您还需要询问权限user_status,查看文档了解更多详情:https://developers.facebook.com/docs/authentication/permissions/
调用FB.login时应该要求权限:
FB.login(function(response) {
// handle the response
}, {scope: 'user_status'});
https://developers.facebook.com/docs/reference/javascript/FB.login/