错误:不支持获取请求。请阅读Graph API文档

问题描述 投票:0回答:2

我一直在尝试使用

cURL
访问有关我的 Facebook 页面的信息。我在 Graph Explorer 中传递了 url me/accounts,它显示了一些数据,如下所示:

{
  "data": [
    {
      "access_token": "tokenString", 
      "category": "Small business", 
      "name": "myPageName", 
      "id": "xxx", 
      "perms": [
        "ADMINISTER", 
        "EDIT_PROFILE", 
        "CREATE_CONTENT", 
        "MODERATE_CONTENT", 
        "CREATE_ADS", 
        "BASIC_ADMIN"
      ]
    }
  ], 
  "paging": {
    "cursors": {
      "before": "MTM4NzYwMjM5NDg5NTUzOQ==", 
      "after": "MTM4NzYwMjM5NDg5NTUzOQ=="
    }
  }
}

但是当我尝试在 cURL 中获取相同的内容并通过终端运行时,它给了我一个错误“不支持的 GET 请求

代码:

<?php
  $url='https://graph.facebook.com/v2.3/me/accounts';
  $ch=curl_init();
  CURL_SETOPT($ch,CURLOPT_URL,$url);
  CURL_SETOPT($ch,CURLOPT_RETURNTRANSFER, 1);
  $json=json_decode(curl_exec($ch));
  var_dump($json);
?>

错误:

object(stdClass)#1 (1) {
  ["error"]=>
  object(stdClass)#2 (3) {
    ["message"]=>
    string(114) "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api"
    ["type"]=>
    string(20) "GraphMethodException"
    ["code"]=>
    int(100)
  }
}

页面权限:

manage_pages,publish_pages

我检查了年龄限制:它对所有人开放。

那我哪里出错了?感谢您的帮助

php facebook facebook-graph-api curl
2个回答
4
投票

使用 Graph Explorer 时,访问令牌会自动添加到每个请求中。如果您通过 cUrl 执行相同的请求,而没有显式添加访问令牌作为 URL 参数,那么它将失败。

您需要在调用中添加

access_token
参数,以及具有
manage_pages
权限的访问令牌(替换
{access_token}
)。

<?php
  $url='https://graph.facebook.com/v2.3/me/accounts?access_token={access_token}';
  $ch=curl_init();
  CURL_SETOPT($ch,CURLOPT_URL,$url);
  CURL_SETOPT($ch,CURLOPT_RETURNTRANSFER, 1);
  $json=json_decode(curl_exec($ch));
  var_dump($json);
?>

0
投票

{"error":{"message":"不支持的 get 请求。请阅读 Graph API 文档 https://developers.facebook.com/docs/graph-api","type":"GraphMethodException","code ":100,"error_subcode":33,"fbtrace_id":"AEJsfkXD1YYma85mHVt0eLI"}}

当我尝试点击朋友发来的 Facebook 通知时,却弹出此消息,为什么

© www.soinside.com 2019 - 2024. All rights reserved.