Как определить, авторизовано ли приложение для фан-страницы - PullRequest
1 голос
/ 27 августа 2011

Простите, если раньше об этом спрашивали, но я не смог найти ответ на то, что кажется простым вопросом. У меня есть приложение, которое авторизовано на фан-странице пользователя и пользователя через процесс с сайта, который я создал. Процесс такой:

Посетить веб-сайт -> авторизовать веб-сайт для просмотра списка фан-страниц -> Выбрать фан-страницу для установки приложения -> Авторизовать приложение для учетной записи пользователя -> Авторизовать приложение на фан-странице

У меня все это работает (процесс, позвольте мне рассказать вам), и все функционирует как задумано. Я работаю над интерфейсом администратора для управления приложением, которое находится не в расположении приложения Canvas, а на самом веб-сайте. Я не нашел способ выяснить, установлено приложение или нет. Похоже, что Graph API / FQL этого не поддерживает.

Мои две проблемы:

  • У меня есть идентификатор пользователя и идентификатор страницы поклонника, но я не могу понять, авторизована ли на указанной странице поклонника мое приложение или нет. В зависимости от этого ответа будет зависеть, отобразить ли панель «Установить это приложение» или панель «Администрирование».

  • Я читал, что лучший способ - сохранить идентификатор пользователя при первоначальной авторизации приложения, но после того, как приложение авторизовано, пользователя отправляют на стену фан-страницы, и я не могу понять, как уведомить мое приложение iframe.

Ответы [ 2 ]

1 голос
/ 27 августа 2011

[править] Я неправильно понял ваш вопрос и подумал, что вы реализовали меньше, чем кажется: если у вас есть разрешение manage_pages для пользователя, вы можете получить токен доступа к странице для каждой из его страниц и получить доступ к списку приложений, которые в настоящее время установлены в виде вкладок на этой странице - инструкции на https://developers.facebook.com/docs/reference/api/page/#tabs [/ Править]

Каждый запрос к URL-адресу вкладки страницы вашего приложения будет содержать параметр Sign_request. Метод его декодирования объяснен на https://developers.facebook.com/docs/authentication/signed_request/ - когда ваше приложение загружается на вкладку страницы, вы получите параметр 'page'.

Итак:

  1. При первой загрузке вкладки, предоставленной вашим приложением, на новой странице вы можете определить идентификатор страницы по подписанному запросу.

  2. Этот обратный вызов также сообщит вам, является ли пользователь, который в данный момент просматривает вкладку страницы, администратором этой страницы (что может быть полезно для вашего собственного интерфейса редактирования, если применимо)

  3. Если у вас еще нет интерфейса, в котором пользователь приложения сообщает, какие страницы он администрирует, вы можете получить список всех страниц, которые администрирует пользователь, путем доступа к свойству «account» в его пользовательском объекте (/me/accounts в Graph API), если у вас есть разрешение manage_pages

0 голосов
/ 27 августа 2011

можете ли вы отследить, кто авторизовал приложение в базе данных на вашем веб-сайте?

т.е. вызвать скрипт на сервере вашего веб-сайта из вашего приложения, который возвращает информацию о том, авторизовал ли пользователь приложение или нет.

...