Чат-бот - генерируйте токены для страниц, которые вам не принадлежат, с помощью входа в Facebook.

Кто-нибудь знает, как установить чат-бота Facebook на страницу, которой вы не владеете?

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

Спасибо!

Джоэл


person Joel T.    schedule 12.07.2016    source источник


Ответы (2)


Насколько я понимаю, ваше приложение Fb должно реализовывать вход в Facebook. Администратору страницы необходимо будет войти в ваше приложение и предоставить вашему приложению доступ к разрешению manage_pages. Как только вы получите это разрешение, вы можете запросить токен доступа к странице с помощью отдельного вызова API.

См. таблицу, касающуюся токенов доступа к странице: эти токены доступа аналогичны токены доступа пользователей, за исключением того, что они предоставляют разрешения API, которые читают, записывают или изменяют данные, принадлежащие странице Facebook. Чтобы получить токен доступа к странице, вам необходимо начать с получения токена доступа пользователя и запроса разрешения manage_pages. Получив токен доступа пользователя, вы получите токен доступа к странице через Graph API.

токены доступа к странице: токены доступа к странице используются в Graph API звонки для управления страницами Facebook. Чтобы сгенерировать токен доступа к странице, администратор страницы должен предоставить расширенное разрешение под названием manage_pages. Как только это разрешение будет предоставлено, вы можете получить токен доступа к странице, используя следующий запрос Graph API ...

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

person Kevin Lee    schedule 01.05.2017
comment
Привет, Кевин, мне удалось решить эту проблему некоторое время назад. После того, как вы получили токен, токен может работать только в течение нескольких часов, поэтому замените токен на токен времени жизни, используя это: graph.facebook.com/oauth/. В любом случае, спасибо за ответ. :) - person Joel T.; 02.05.2017

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

  1. Обычный вход в Facebook с дополнительными областями manage_pages,pages_show_list,public_profile,pages_messaging.
  2. При вызове api на стороне сервера мы расширяем краткосрочный токен, чтобы сделать его долгоживущим токеном.

  3. Вывести список всех пользовательских страниц с помощью API учетной записи. [GET] ${FB_BASE_URL}/me/accounts?access_token=${accessToken}&fields=picture,id,name,access_token,username,perms

  4. Разрешите пользователю выбрать одну из страниц, а затем вы можете использовать API подписки, чтобы подписать эту страницу на наше приложение. [POST] ${FB_BASE_URL}/${page.id}/subscribed_apps?access_token=${page.access_token};

Примечания:

  1. из API учетных записей каждая страница будет иметь уникальный access_token, вам нужно будет сохранить этот токен где-нибудь, чтобы использовать его позже при ответе на мессенджер, настройте действие кнопки запуска, постоянное меню и т. д.
  2. вам необходимо продлить токен доступа для входа в систему, чтобы получить токен page_access, срок действия которого не истекает.
  3. в этом случае все страницы ваших клиентов будут подключены к одному приложению Facebook, которое будет подключено к одному боту, на вашем боте вам нужно будет изменить поведение бота в зависимости от идентификатора получателя (идентификатора страницы).
  4. Чтобы подписаться на страницу в приложении, у пользователя должны быть разрешения «АДМИНИСТРА» на этой странице, поэтому вам необходимо получить поле разрешений в API учетной записи и отфильтровать результаты.
person Anas Al Hamdan    schedule 03.08.2017