Facebook Graph API 错误代码:2500 JavaScript

Posted

技术标签:

【中文标题】Facebook Graph API 错误代码:2500 JavaScript【英文标题】:Facebook Graph API error code:2500 JavaScript 【发布时间】:2017-01-26 09:47:54 【问题描述】:

我在使用 Facebook Graph API 时遇到问题。 我想从每个帖子中拍照并将其插入到图库中,所以我进行了很好的查询,我的代码如下所示:

<script>
 window.fbAsyncInit = function() 
       FB.init(
       appId      : '1385526288185078',
       status     : true,
       xfbml      : true,
       version    : 'v2.8'
       );
       FB.AppEvents.logPageView();
       FB.login(function(response) 
            if (response.authResponse) 
                console.log('Welcome!  Fetching your information.... ');
                FB.api('/me', function(response) 
                console.log('Good to see you, ' + response.name + '.');
        );
         else 
            console.log('User cancelled login or did not fully authorize.');
        
);
       FB.api(
         '/me',
         'GET',
         "fields":"postspicture",
         function(response) 
             console.log(response);
         
       ); scope: 'user_posts';
   ;


(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 = "//connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v2.8&appId=1239065502849136";
      fjs.parentNode.insertBefore(js, fjs);
    (document, 'script', 'facebook-jssdk'));

在控制台中出现错误:error:Object 代码:2500 fbtrace_id:"Em9cGkfMeHX" 消息:“必须使用活动访问令牌来查询有关当前用户的信息。” 类型:“OAuthException”

而且我很确定我的令牌是活跃的!有人可以协助检查什么或做什么吗?

【问题讨论】:

没有登录码,是什么让你认为有一个活跃的访问令牌? 如果您之前已经登录到应用程序,那么您至少需要在 FB.init 调用中使用 status 参数,以便 SDK 识别重复用户。 @luschn 我可以分享和喜欢,所以我认为这很好....但是图片不想出现... @CBroe 当我添加状态时:true,仍然是同样的错误...... 你以前登录过应用吗? 【参考方案1】:

您需要授权用户:

FB.login(function(response) 
    if (response.authResponse) 
        //user just authorized your app

    
, scope: 'user_posts');

来源:https://developers.facebook.com/docs/reference/javascript/FB.login/

示例:http://www.devils-heaven.com/facebook-javascript-sdk-login/

【讨论】:

是的,这就是解决方案!过了一会儿,我意识到了!谢谢。 不客气。请不要忘记接受我的回答;) 顺便说一句,你真的不能在 init 函数中使用 FB.login。您必须调用用户交互。我的答案的第二个链接对此进行了解释。 我的代码现在看起来: FB.login(function(response) if (response.authResponse) console.log('Welcome! Fetching your information....'); FB.api( '/me', "fields":"postspicture", function(response) console.log(response); ); else console.log('用户取消登录或未完全授权。 '); );我在这里得到了对象,所以一切都很好。

以上是关于Facebook Graph API 错误代码:2500 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Post Open Graph Story 错误

PHP中的Facebook Graph API出现不一致的错误 - 无法连接到graph.facebook.com端口443:连接超时

Facebook Graph API 403 禁止错误

Facebook Login Graph API 返回错误的个人资料图片 URL

Facebook graph api keyerror '下一个'

Facebook Graph API页面/对话/消息端点错误(突然似乎已弃用)