Я пытаюсь получить информацию от Facebook для некоторых страниц, на которые у меня есть права администратора.Я могу получить правильные данные с помощью API графа, но когда я пытаюсь с FQL, я получаю пустой объект JSON.Любая идея, в чем может быть проблема?
Я думаю, что запрос правильный, потому что я не получаю никаких ошибок 400/500.Я также думаю, что разрешения правильные, потому что я использую ту же фреймворк с решением API Graph, и он работает нормально.Может быть, вам нужны дополнительные разрешения для использования FQL?У меня есть manage_pages и read_insights.
Я реализую базовую замену текста в шаблонах URI из документации Facebook.
РЕДАКТИРОВАТЬ: я думаю, что проблема может заключаться в том, что у меня нетразрешение на чтениеУ меня есть разрешение manage_pages.Возможно, это объясняет, почему я могу получить доступ к аналитике через Graph API, но не через FQL?
Запрос API к графику:
string insight_str = "https://graph.facebook.com/APP_ID/insights/FIELD/FREQ?access_token=ACCESS_TOKEN";
string url = insight_str.Replace("FIELD", "page_impressions").Replace("FREQ","day").Replace("APP_ID", accounts[i].id).Replace("ACCESS_TOKEN", accounts[i].access_token);
https://graph.facebook.com/xxxxxxxx/insights/page_impressions/day?access_token=xxxxxxxx
Анализ API Graph: JSON-результат:
page_impressions
2011-12-28 412
2011-12-29 971
2011-12-30 373
FQL-запрос:
string query_str = "https://graph.facebook.com/fql?q=QUERY&access_token=ACCESS_TOKEN";
string query = "SELECT+metric,value+FROM+insights+WHERE+object_id=APP_ID+AND+metric='FIELD'+AND+end_time=1322722800+AND+period=86400";
string url = query_str.Replace("QUERY",query).Replace("FIELD","page_impressions").Replace("APP_ID",accounts[i].id).Replace("ACCESS_TOKEN",accounts[i].access_token);
https://graph.facebook.com/fql?q=SELECT+metric,value+FROM+insights+WHERE+object_id=xxxxxxxx+AND+metric='page_impressions'+AND+end_time=1322722800+AND+period=86400&access_token=xxxxxxxx
FQL JSON результат:
{"data":[]}