代码之家  ›  专栏  ›  技术社区  ›  Lars Hendriks

Facebook图形API-我收到错误“缺少授权代码”?

  •  0
  • Lars Hendriks  · 技术社区  · 6 年前

    我是Facebook API的新手,遇到了一个奇怪的问题,我真的找不到解决它的方法。我正在尝试使用以下说明获取访问令牌:

    enter image description here

    但当我试着去做的时候:

    curl -X GET "https://graph.facebook.com/oauth/access_token?client_id=[ID]&client_secret=[SECRET]&redirect_uri=http://localhost&grant-type=clients_credentials"
    

    即使我在代码中这样做,它也会失败:

        var firstOptions = {
        method: 'GET',
        url: 'https://graph.facebook.com/oauth/access_token?client_id=[ID]&client_secret=[SECRET]&grant-type=client_credentials&redirect_uri=http://localhost',
        json: true,
    
      };
      request(firstOptions, function (error, response, body) {
        console.log(body);
      });
    

    所以我想知道是否有人能告诉我在哪里以及如何获得授权码?或者如果我做错了什么。因为facebook图片不包含任何授权码。

    编辑:

    在一个建议之后,我尝试了以下方法:

        var pageOptions={
        method: 'GET',
        url: 'https://graph.facebook.com/[PAGE-ID]/posts?access_token=' + 'ID|SECRET',
        json:true
      };
    

    但是我得到了以下错误:

    { message: '(#10) To use \'Page Public Content Access\', your use of this endpoint must be reviewed and approved by Facebook. To submit this \'Page Public Content Access\' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review.',
    

    当我使用由访问令牌调试器生成的访问令牌时,不会发生此错误:

    https://developers.facebook.com/tools/debug/accesstoken/

    1 回复  |  直到 6 年前
        1
  •  1
  •   misorude    6 年前

    消息:“(10)若要使用“页面公共内容访问”,必须由Facebook审查和批准您使用此端点。要提交此“页面公共内容访问”功能以供审阅,请阅读我们有关可审阅功能的文档: https://developers.facebook.com/docs/apps/review .',

    当我使用由访问令牌调试器生成的访问令牌时,不会发生此错误

    您使用的访问令牌类型不正确。

    要访问任意公共页面的内容,你的应用程序需要首先被Facebook审查。

    它与您在调试工具中生成的令牌一起工作,因为这是 用户 token和您在讨论中的页面上有一个管理员角色-这意味着这不再是对“公共”数据的一般访问,而是对您实际具有管理员访问权限的内容的访问。有一个 应用程序 访问令牌,API无法检查它。

    您需要使用页面管理 用户 令牌,或 此类请求的令牌。