FQL-запрос не выполняется - PullRequest
0 голосов
/ 07 марта 2012

На странице, если я делаю тестовый запрос FQL, он работает:

<code>$fql = 'SELECT name from user where uid = ' . $user_id;
        $ret_obj = $facebook->api(array(
                                   'method' => 'fql.query',
                                   'query' => $fql,
                                 ));

        echo '<pre>Name: ' . $ret_obj[0]['name'] . '
';

Однако, если я попытаюсь выполнить этот запрос, он потерпит неудачу:

<code>$fql2 = 'SELECT uid, name, pic_square FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND sex =male';
$ret_obj2 = $facebook->api(array(
                           'method' => 'fql.query',
                           'query' => $fql2,
                         ));


echo '<pre>Name: ' . $ret_obj2[0]['name'] . '
';

Я подозреваю, что это проблема с аутентификацией, потому что тот же самый fql-запрос работает в инструменте тестирования Graph API!

Если вы хотите получить полный php-код, это второй пример на этой странице: https://developers.facebook.com/docs/reference/php/facebook-api/

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Спасибо за поддержку, ребята, запрос не работал по 2 причинам:

1) Я забыл;после окончания оператора

2) В моем коде я использовал

`SELECT uid, name, pic_square, FROM` 

вместо

`SELECT uid, name, pic_square FROM`
0 голосов
/ 07 марта 2012

Вам нужны только базовые разрешения для этого запроса, так что это не проблема.Попробуйте добавить двойные кавычки вокруг слова "мужской":

$fql2 = 'SELECT uid, name, pic_square FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND sex="male"';

...