我刚刚开始使用php api进行开发。 但是当我调用以下查询时,我似乎无法弄清楚为什么我只得到一个空数组:
$fql = "SELECT message,time FROM status WHERE uid ='".$uid."'";
$response = $facebook->api(array('method' => 'fql.query','query' =>$fql));
print_r($response);
当我使用不同的查询时,我会得到结果:
$fql = "SELECT uid2 FROM friend WHERE uid1='".$uid."'";
答案 0 :(得分:6)
权限可能存在问题。您可能需要授予user_status
权限。
请参阅此处 - http://developers.facebook.com/docs/authentication/permissions
答案 1 :(得分:0)
检查您的权限。一个很好的方法是使用FQL Query Tool。它非常适合测试查询和访问您正在查询的数据所需的权限
答案 2 :(得分:0)
我有类似的问题,而是使用:
{
"id":"SELECT uid1, uid2 FROM friend WHERE uid1 = me()",
"posts":"SELECT message, time FROM status WHERE uid IN (SELECT uid2 FROM #id) ORDER BY time DESC LIMIT 50"
}
结果我得到了:
{
"name": "posts",
"fql_result_set": [
]
}
如果我将uid2更改为uid1:(SELECT uid1 FROM #id)
我得到了状态更新。
2周前,这是有效的。
权限,在我的情况下是正确的。
注意:查询采用图形资源管理器格式,因此可以轻松测试