我正在让用户通过调用“manage_pages”权限登录我的应用
FB.login(function(response) {...... },{scope:'manage_pages'});
我想将我的应用程序选项卡添加到用户页面。我通过调用获取用户的所有页面
FB.api('/me/accounts?access_token=ACCESS_TOKEN','get', function(response){......},{scope:'manage_pages'});
现在,在获取所有页面后,我让用户选择他想要将我的应用程序选项卡添加到的页面。
当用户选择一个页面时,我会调用该方法
FB.api('/PAGE_ID/tabs?appId=myAppId&access_token=page_access_token_fetch_by_above_method', 'post',function(response) {.......});
但是方法返回错误作为响应,响应是:
/**/ FB.ApiServer._callbacks.f17a44c23({"error":{"message":"(#210) Subject must be a page.","type":"OAuthException"}});
即使使用以下调用在页面上获取标签也会导致相同的错误:
FB.api('/PAGE_ID/tabs?access_token=page_access_token_fetch_by_above_method', function(response) {});
最佳答案
对我来说,它是这样工作的:
FB.api('/me/accounts', function(response) {
if (!response || response.error) {
alert('Facebook get accounts error occured ' + response.error);
} else {
var pageData = response.data;
/* looking for the right page specific access_token */
FB.Array.forEach(response.data, function(onePage) {
if( onePage.id == page ) {
access_token = onePage.access_token;
}
});
/* adding the app to the page */
FB.api(page + '/tabs', 'POST', { app_id: app, access_token: access_token }, function(response) {
if (!response || response.error) {
alert('Facebook add app error ' + response.error);
} else {
alert('App has been added');
}
}); /* end of page/tabs*/
}
}); /* end of /me/accounts */
希望对你有帮助。
关于facebook-graph-api - 通过图形 api 方法 fb.api() 获取页面的选项卡并将选项卡添加到 facebook 页面会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444110/