【发布时间】:2013-06-15 12:32:21
【问题描述】:
如果我在 Facebook Graph Explorer 中输入以下查询,都返回一个值的结果:
Case 1)
SELECT user_id from like where object_id =584xxxxxxx637
{
"data": [
{
"user_id": 100xxxxxxxxxxx57
}
]
}
in PHP code:
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT user_id from like where object_id=584xxxxxxx637'));
var_dump($result);
returns the expected result:
array(1) { [0]=> array(1) { ["user_id"]=> string(15) "100xxxxxxxxxxx57" } }
但是,对于以下类似查询,我也从图形资源管理器中获得了有效结果,但从 PHP 中却没有:
Case 2)
SELECT page_id from page_fan where uid=me() and page_id=400xxxxxxxx095
Result in Graph Explorer:
{
"data": [
{
"page_id": 400xxxxxxxx095
}
]
}
in PHP
$result = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT page_id from page_fan where uid=me() and page_id=400xxxxxxxx095'));
var_dump($result);
Output:
array(0) { }
用户已登录 Facebook 进行会话(因此图形查询返回有效结果)
我不知道为什么!
【问题讨论】:
-
实际上,如果我将“应用程序”更改为我的应用程序,我现在还观察到来自 Graph API 资源管理器的问题行为。我一直在查看开发人员文档,看看我是否对表 page_fan 的权限有误(目前,应用程序请求'user_status,publish_stream,user_photos,email,user_likes')文档似乎说 user_likes 就足够了,但是大概他们不是,嗯。
-
这可能与 $facebook->getAccessToken 有关,我没有专门要求这个,也找不到任何可以将它集成到我的代码中的示例
标签: php facebook facebook-graph-api facebook-fql