0

我只是按照这里的示例https://developers.facebook.com/docs/reference/fql/,但我用这样的https://developers.facebook.com/docs/reference/fql/status/替换了查询但我将uid替换为me()

所以这是我的代码:

 $token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
            . $app_id . '&redirect_uri=' . urlencode($my_url) 
            . '&client_secret=' . $app_secret 
            . '&code=' . $code;

$access_token = file_get_contents($token_url);

$q = urlencode("SELECT status_id, message FROM status WHERE uid=me()");

$fql_query_url = 'https://graph.facebook.com/'
        . '/fql?q='.$q
        . '&' . $access_token;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);

echo '<pre>';
print_r("query results:");
print_r($fql_query_obj);
echo '</pre>';

这个不返回任何东西。它只是给了我一个空数组。

在此处输入图像描述

这已经是我的应用程序的许可: 在此处输入图像描述

我不知道这里有什么问题了。我确定我的应用程序 ID 和密钥是正确的。

这段代码有什么问题?我得到一个空列表。它没有获取我的状态更新。您的帮助将不胜感激和奖励!

谢谢!

4

2 回答 2

3

该权限仅用于设置。它并不表示每个单独的用户是否已授予权限。

使用正确的访问令牌尝试/me/permissions?fields=read_stream用户,以查看用户是否已授予权限。

你应该得到

{
  "data": [
    {
      "read_stream": 1
    }
  ]
}

一旦确定已设置,它应该可以工作。一种快速检查方法是在 Graph Explorer 中针对您的访问令牌进行尝试

https://developers.facebook.com/tools/explorer?fql=SELECT%20status_id%2C%20message%20FROM%20status%20WHERE%20uid%3Dme()

于 2012-08-28T17:34:06.183 回答
0

在这里遇到同样的问题,以确保用户已授予“读取流”权限,这是我所做的:

  $params = array(
  'scope' => 'read_stream'
  );
  $loginUrl = $facebook->getLoginUrl($params);
于 2013-10-21T08:43:46.763 回答