2016-02-26 9 views
0

Я пытаюсь программно захватить несколько аналитических метрик из facebook для разных страниц (около 50 клиентов). Поэтому я хочу автоматизировать это.Facebook insights через graph.facebook.com поток аутентификации

Я создал приложение для facebook и получил свои app_id и app_secret. Я также создал app_access_token, который не истекает?

Мой вопрос заключается в следующем: Как мне получить page access token для каждой страницы, на которой я хочу получить информацию? В настоящее время я ...

ШАГ 1) ... пошел в Query Explorer и seleted моего приложения и схватил user_access маркер с manage_pages и read_insights разрешений.

ШАГ 2) Затем я использовал это user_access_token, чтобы перейти к https://graph.facebook.com/v2.5/{pagename}?fields=access_token&access_token={user_access_token}, чтобы получить то, что, как я полагаю, является page_access_token.

ШАГ 3) Затем я использую этот токен, чтобы выполнять мои запросы для таких вещей, как https://graph.facebook.com/v2.5/{pagename}/insights/page_impressions?access_token={page_access_token}.

Теперь, когда приложение уже выполнено, не должно быть способа захватить то, что user_access_token в шаге 1 программно? Все они истекают, кроме описанного выше app_access_token. Могу ли я использовать этот токен как-то на шаге 1?

Я не использую и SDK просто чистые вызовы https.

+1

Нет никакого способа получить токен доступа пользователя, если пользователь не выполняет вручную. – WizKid

+1

Невозможно достичь этого без использования SDK. Просьба ознакомиться с этим: https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens –

ответ

1

На самом деле это возможно. Мне удалось получить токен доступа к расширенной странице, выполнив следующие действия:

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=[app-id]&client_secret=[app-secret]&fb_exchange_token=[short-lived-token] 

от here. В основном вы получаете краткосрочный токен пользователя, а затем используете его для получения токена доступа к странице, а затем используете его с вашим id/secret вашего приложения, чтобы получить расширенный токен страницы, который никогда не истекает (идеально подходит для внедрения в приложение автоматической отчетности).

Это запутанный, но он работает. И в качестве бонуса, если вы зарегистрируете APP в бизнес-менеджере Facebook, этот токен будет работать на всех сайтах, к которым у вас есть доступ к этой учетной записи бизнес-менеджера.