2010-10-27 2 views
0

Я только начинаю с разработки с использованием facebook api с php. Но я не могу понять, почему я получаю только пустой массив, когда я взываю следующий запрос:Запрос FQL, возвращающий пустой массив

$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."'"; 

ответ

6

Возможно, возникла проблема с разрешениями. Возможно, вам необходимо предоставить разрешение user_status.

Смотрите здесь - http://developers.facebook.com/docs/authentication/permissions

+0

Эй, я думаю, что это, скорее всего, вопрос. Я попробую. Спасибо Тарас! – user448954

+0

хорошо, пусть люди знают, если это сработало;) – TarasB

0

Проверьте свои права. Отличный способ сделать это - использовать FQL Query Tool. Его большой, чтобы проверить запросы и необходимые разрешения для доступа к данным вы запрашиваете

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 недели назад, это работало.

Разрешения, в моем случае правильные.

Примечание: Запрос находятся в формате Graph Explorer, так что они могут быть easyly испытаны

Смежные вопросы