2016-03-03 119 views
0

我想要做的是获取有关FB页面的基本信息(总页面喜欢,页面发布的帖子)。使用Facebook Javascript SDK我遇到了问题。阅读Facebook Graph API - 访问令牌错误

window.fbAsyncInit = function() { 

     FB.init({ 
      appId: '12345', //My app id 
      xfbml: true, 
      version: 'v2.5' 
     }); 

     /* make the API call */ 
     FB.api(
      "/128155725517", 
      'GET', 
      // {"fields":"id,name"}, 
      function(response) { 
       if (response && !response.error) { 
        console.log(response); 
       } 
      } 
     ); 
    }; 

    (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_US/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 

而我得到的回应是:

/**/ FB.__globalCallbacks.f1084b047c({"error":{"message":"An access token is required to request this resource.","type":"OAuthException","code":104,"fbtrace_id":"HUcIot7YeoH"}}); 

我的问题是这样的:我可以从图形API请求而没有用户访问令牌?他们是否必须登录才能获取访问令牌以便从Graph API读取信息?无论网站访问者是否登录到FB,我是否可以创建一个始终有效的令牌?

在此先感谢。

回答

1

没有登录,您只能使用“应用程序访问令牌”。它只是应用程序ID和应用程序密码的组合 - 但当然,您不应该在客户端代码中使用它。如果页面受年龄或位置限制,则需要使用用户令牌或页面令牌。关于令牌和如何

更多的信息来生成它们:

+0

谢谢@luschn - 大加赞赏。我将研究App Access Tokens。祝你有美好的一天! –