#facebook #facebook-fql #facebook-insights
#Facebook #facebook-fql #facebook-insights
Вопрос:
Я пишу приложение для запроса insights для нескольких десятков приложений; независимо от того, какой из этих запросов к таблице insights я пытаюсь, я всегда получаю пустой набор результатов. Ошибок нет. Другие таблицы (например, страница, приложение) работают нормально. Кто-нибудь может определить, чего мне не хватает?
header('Content-type: text/plain');
//РАБОТАЕТ:
$q = 'SELECT app_id, api_key, canvas_name, display_name FROM application WHERE app_id="111"';
//НЕ РАБОТАЕТ:
$q = "SELECT metric, value FROM insights WHERE object_id='111' AND metric='page_active_users' AND period='604800' AND end_time='1318615472'";
//КОД:
require_once '../../scg_common/facebook/facebook.php';
$facebook = new Facebook(array(
'appId' => '111',
'secret' => '222', 'cookie' => true,
));
$facebook->getAccessToken();
$facebook->getSignedRequest();
$params = array(
'method' => 'fql.query', 'query' => $q,
//'callback' => null, 'format' => '', 'access_token' => '',
);
try{
$result = $facebook->api($params); }
catch(Exception $o){
var_dump($o); }
var_dump($result);
Комментарии:
1. Вот тестовая страница FB: developers.facebook.com/docs/reference/rest/fql.query
Ответ №1:
Вы уже пробовали примеры, перечисленные в документации? Я имею в виду точную строку? http://developers.facebook.com/docs/reference/fql/insights /
Если это не работает, возможно, это связано с тем, что у вас нет требуемого разрешения, которое называется read_insights.
Дайте мне знать, как это получается.
Ответ №2:
Параметр end_time должен быть действительной меткой времени в полночь по времени PST (согласно документации). Мое собственное тестирование показывает, что вспомогательная функция end_time_date() не работает, поэтому вам нужно передать временную метку. Как только я это исправил, я начал получать результаты запроса.
Вот некоторые связанные ошибки: