通过图形 api 方法 fb.api() 获取页面的选项卡并将选项卡添加到 facebook 页面会导致错误

Posted

技术标签:

【中文标题】通过图形 api 方法 fb.api() 获取页面的选项卡并将选项卡添加到 facebook 页面会导致错误【英文标题】:fetching page's tab and adding tab to the facebook pages by graph api method fb.api() result in error 【发布时间】:2011-09-16 11:37:39 【问题描述】:

我让用户通过调用以“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) 主题必须是页面。","type":"OAuthException");

即使在具有以下调用的页面上提取标签也会导致相同的错误:

FB.api('/PAGE_ID/tabs?access_token=page_access_token_fetch_by_above_method', function(response) );

【问题讨论】:

【参考方案1】:

对我来说,它是这样工作的:

    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 */

希望对你有帮助。

【讨论】:

以上是关于通过图形 api 方法 fb.api() 获取页面的选项卡并将选项卡添加到 facebook 页面会导致错误的主要内容,如果未能解决你的问题,请参考以下文章

FB.API Facebook Open Graph 为某些用户的用户点赞返回空数据

使用 Graph api 获取 Facebook 页面率和评论

使用 fb.api 的 Facebook 用户位置

使用 API 获取 Facebook 头像并将其保存到项目文件夹

Facebook JS SDK 的 FB.api('/me') 方法不返回我在 Graph API v2.4+ 中期望的字段

手动获取文本到墙贴文本区域(使用 FB API 在 facebook 上共享 - Android)