У меня проблема с PHP SDK версии 4.0.
Я просто пытаюсь получить insights/page_fans_city
через Graph API:
$request = new FacebookRequest($session, 'GET', '/{my object}/insights/page_fans_city', array('period' => 'lifetime')); $response = $request->execute(); $client_graph_object = $response->getGraphObject(); print_r($client_graph_object);
Однако данные не возвращаются:
Facebook\GraphObject Object ( [backingData:protected] => Array ( [data] => Array ( ) [paging] => stdClass Object ( [previous] => https://graph.facebook.com/v2.0/... [next] => https://graph.facebook.com/v2.0/... ) ) )
Я знаю, что у меня есть данные Insights, которые я запрашиваю. Я могу выполнить тот же запрос через Graph Explorer:
→ /v.2.0/{my object} / insights / page_fans_city? Period = время жизни
{ "data": [ { "id": "{my object}/insights/page_fans_city/lifetime", "name": "page_fans_city", "period": "lifetime", "values": [ { "value": { ... }, "end_time": "2014-08-01T07:00:00+0000" }, { "value": { ... }, "end_time": "2014-08-02T07:00:00+0000" } ], "title": "Lifetime Likes by City", "description": "Lifetime: Aggregated Facebook location data, sorted by city, about the people who like your Page. (Unique Users)" } ], "paging": { "previous": "https://graph.facebook.com/v2.0/..., "next": "https://graph.facebook.com/v2.0/... } }
Я должен отметить, что я получаю данные, если я опускаю сегмент page_fans_city
. Когда он опущен, я могу просматривать данные только для page_fans_country
. Следовательно
$request = new FacebookRequest($session, 'GET', '/{myobject}/insights/page_fans_country', array('period' => 'lifetime'));
а также
$request = new FacebookRequest($session, 'GET', '/{myobject}/insights', array('period' => 'lifetime'));
будет работать для меня …
Я подозреваю, что это мой токен доступа, но я не уверен, почему так будет. Приложение, которое я создал, требует read_insights
разрешения read_insights
.
Любые мысли или предложения?
Заранее спасибо,
Майк
Это был вопрос с разрешениями. Если вы когда-нибудь увидите:
{ "data": [ ], ... }
Вероятно, ваш токен доступа не имеет достаточных привилегий для доступа к данным, которые вы запрашиваете (это или просто нет данных).
Моя проблема заключалась в том, что, хотя я был разработчиком приложения, и он был одобрен Facebook (с разрешениями manage_pages
и read_insights
) – я не мог использовать токен доступа к доступу для извлечения данных о данных.
Мне нужен токен доступа пользователя!
Я легко сгенерировал токен доступа пользователя, вручную создав поток входа в документацию Facebook . Этот поток stackoverflow также был полезен.
Подробнее о токенах Facebook здесь .
Надеюсь, это поможет любому, кто спотыкается по этой теме!
-Майк