Получение подсчета комментариев из fb: виджет комментариев (Facebook) - PullRequest
1 голос
/ 23 октября 2010

Я пытался использовать JavaScript и PHP SDK, но не могу решить эту простую проблему.

Мой FQL выглядит так:

SELECT count FROM comments_info WHERE xid="..."

Когда я пытаюсь выполнить запросчерез PHP я получаю следующую ошибку:

Uncaught Exception: 604: No valid app_id

PHP:

$facebook = new Facebook(array(
    'appId' => '...',
    'secret' => '...',
    'cookie' => true
));
$result = $facebook->api(array(
    'method' => 'fql.query',
    'query' => 'SELECT count FROM comments_info WHERE xid="'.[...].'"'
));

appId и secret Я скопировал со страницы приложения в приложении Facebook Developer.

Точно так же, когда я использую JS API, например:

var query = FB.Data.query('SELECT count FROM comments_info WHERE xid="' + [...] + '"');
query.wait(function(rows){});

... Я получаю ту же ошибку в ответе JSONP:

FB.ApiServer._callbacks.f2ba554518({"error_code":"604","error_msg":"No valid app_id","request_args":[{"key":"access_token","value":"[MY APP ID]|[THE ACTUAL ACCESS TOKEN]"},{"key":"api_key","value":"[MY APP ID, AGAIN]"},{"key":"callback","value":"FB.ApiServer._callbacks.f2ba554518"},{"key":"format","value":"json-strings"},{"key":"method","value":"fql.multiquery"},{"key":"queries","value":"{\"index_comments_info_xid\":\"select xid,count from comments_info where xid=\\\"[...]\\\"\"}"},{"key":"sdk","value":"joey"}]});

Я дажепытался воссоздать приложение несколько раз.

На данный момент я потратил больше часов, чем хотел бы признать :) Так что, если у кого-то есть опыт с этой проблемой, я был бы очень признателен - Facebookдокументация совсем не помогает, и их форумы разработчиков в значительной степени мертвы.

1 Ответ

2 голосов
/ 24 октября 2010

Упс ... немного лицевой стороны. «No valid app_id» не означает, что мой идентификатор приложения недействителен - это означает, что мне нужно указать app_id в моем FQL-запросе, как указано на странице документации .

Вот рабочий пример PHP для получения количества комментариев:

require_once('facebook.php');
$facebook = new Facebook(array(
    'appId' => '[...]',
    'secret' => '[...]'
));
try {
    $result = $facebook->api(array(
        'method' => 'fql.query',
        'query' => 'SELECT count FROM comments_info WHERE app_id='.$facebook->getAppId().' AND xid="'.[...].'"'
    ));
} catch (FacebookApiException $e) {
    error_log($e);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...