Я пробовал использовать 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.
Аналогично, когда я использую 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"}]});
Я даже пробовал повторное создание приложения несколько раз.
На данный момент я инвестировал больше часов, чем я хотел бы признать 🙂 Итак, если у кого-то есть опыт работы с этой проблемой, я был бы очень благодарен – документация от Google не является никакой помощью, и их форумы разработчиков довольно много мертвых.
Ой … бит facepalm. «Нет действительного 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); }