Получение Access_token для чтения Page Insights - PullRequest
3 голосов
/ 15 сентября 2011

Я работаю над использованием python для получения доступа к информации Facebook Insights.Мне удалось получить общедоступную информацию (например, «лайки» со страницы Cocacola) в дополнение к пониманию приложений для приложений, которые я разработал.

Поскольку я являюсь администратором и разработчиком как для страниц, так и для приложений, когда я перехожу на facebook.com/insights, я вижу раздел для страниц и раздел для приложений.Я хочу иметь возможность получать информацию для обоих из графика API и сохранять их в моей личной базе данных.Получить представление о приложении было не сложно.Я получил свои app_id и app_secret, когда создал свое приложение, а затем проследовал за процессом в разделе «Вход в приложение» на этой странице http://developers.facebook.com/docs/authentication/.. Это дало мне приложение access_token, которое я мог использовать для получения информации о приложении.пытаясь сделать то же самое для страниц, у меня было больше проблем.Как упоминалось во многих предыдущих публикациях, большая часть документации по Facebook имеет отношение к приложению facebook, получающему access_token для управления или чтения информации со страницы.Я понимаю, что это полезно для приложений, которые взаимодействуют со страницей пользователя.Однако мой инстинкт говорит, что я должен иметь возможность получить токен доступа с read_insights для страницы, администратором которой я являюсь, без необходимости обращаться к внешнему приложению.

Единственный способ, которым я смогЧтобы прочитать идеи для моей страницы, был использован Graph Api Explorer.Я использовал проводник для получения access_token (через кнопку access_token, позволяющую проводнику получить доступ к моим личным данным, и запросил расширенные разрешения для manage_pages и read_insight).Затем я следовал инструкциям в разделе Page Login на странице / docs / authentication /, которую я разместил выше, чтобы получить access_token для страницы facebook, которой я управляю.Тогда я наконец смогу запустить https://graph.facebook.com/PAGE_ID/insights?access_token=RETRIEVED_TOKEN. Однако, это невероятно громоздкий способ найти access_token.Есть ли способ получить этот токен, который будет менее громоздким?Спасибо за вашу помощь.Я уже давно борюсь с этим.

Я также включил код, который использовал для получения токена доступа для моего приложения.

def get_access_token():
    args = dict(client_id=FACEBOOK_APP_ID, client_secret=FACEBOOK_APP_SECRET, grant_type="client_credentials" )
    url = "https://graph.facebook.com/oauth/access_token?" + urllib.urlencode(args)
    response = urlparse.parse_qs(urllib.urlopen(url).read())
    access_token = response['access_token'][0]
    return access_token

1 Ответ

1 голос
/ 28 сентября 2011

Почему бы не использовать классический способ:

  • Создайте приложение и войдите в него, используя Facebook (например, JS SDK), с offline_access и read_insights разрешение.Offline_access даст вам постоянный access_token, который вы можете использовать для доступа к инсайту в любое время.
  • JS SDK (метод FB.login) вернет объект, содержащий нужный вам access_token.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...