context.fields(all_mutual_friend)返回不支持的get请求

时间:2015-12-11 12:00:27

标签: php facebook facebook-graph-api app-secret mutual-friendship

我试图让我和其他(不是我的朋友)用户之间的所有共同朋友。

要做到这一点,我使用连接graph.facebook.com(REST客户端)的php服务器

我在仪表板中使用AppSecret 我发送有效的access_token(具有user_friends权限) 我发送了有效的appsecret_proof(使用docs方法中提到的方法创建):

$appsecret_proof = hash_hmac('sha256', $access_token, $secret);

如果我更改了appsecret_proof,我会收到#34; API参数中提供的appsecret_proof无效"所以我认为这是正确和有效的。

我总是检索相同的回复:

 "error": {
       "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
        "type": "GraphMethodException",
        "code": 100,
        "fbtrace_id": "XXXXXXXXXXX"
      }

这是我的代码:

$appsecret_proof = hash_hmac('sha256', $access_token, $secret);

$url =  '/v2.5/'.$userID.'?fields=context.fields(all_mutual_friends)&appsecret_proof='.$appsecret_proof.'&access_token='.$access_token ;

$config = array('server'=> 'https://graph.facebook.com');
$this->CI->rest->initialize($config);
$result = $this->CI->rest->get($url);

我如何找回我们共同的朋友?

1 个答案:

答案 0 :(得分:1)

根据documentation,它应该是mutual_friends,而不是all_mutual_friends

示例代码为:

$request = new FacebookRequest(
  $session,
  'GET',
  '/{user-id}',
  array (
    'fields' => 'context.fields(mutual_friends)',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();