Существует 4 простых шага, описанных в документации по подключению учетных записей для платформы сообщений:
Зарегистрируйте URL-адрес обратного вызова, используя кнопку входа.
Платформа Messenger вызывает зарегистрированный URL-адрес, когда пользователь начинает поток привязки учетной записи. Параметры redirect_uri и account_linking_token добавляются к вашему зарегистрированному обратному вызову.
- Как base64 кодирует изображение из facebook api
- Как получить список групп facebook для пользователя с помощью графика api
- Вкладка приложения Facebook -> Внешнее связывание с PHP
- как передать пользовательский параметр в ссылке facebook sharer
- Flash-вызов функции PHP
- приглашать друзей в диалог в приложении Facebook
По завершении связывания перенаправляйте пользователей в местоположение, предоставленное redirect_uri, и добавьте параметр authorization_code (определенный вами) для подтверждения связывания.
Опционально извлекайте идентификатор страницы с идентификатором страницы (PSID), используя конечную точку привязки учетной записи. Этот шаг следует использовать только в особых случаях, когда вам нужен PSID пользователя как часть процесса компоновки.
Эти шаги очень просты в использовании, за исключением того, что нет никакой помощи в том, как связать учетную запись, я получаю redirect_uri и account_linking_token как параметры на моем веб-сайте обратного вызова, где я ввожу логин и пароль учетной записи.
И потом, я связываю учетные записи …? Как именно?
Какая польза от этой кнопки? Я знаю, что он должен связывать учетные записи, но для чего мне нужен аккаунт_linking_token? Я уже могу отправить обычную кнопку web_url для пользователя psid, я могу легко отправить его на мою кнопку входа в качестве учетной записи параметра и ссылки на этот psid, если учетные данные верны.
Я твердо верю, что что-то мне не хватает или что-то я не понимаю, но я не знаю, что. Я выполнил шаги, назвав ссылку, связывающую конечную точку, чтобы получить PSID, который у меня уже есть, так как я отправляю сообщения с моим ботом, но на самом деле я не вижу смысла в этой кнопке.
Итак, что мне не хватает? Я так напуган.
Просто прошел через похожий кусочек головы, и я объясню, что я сделал, пока он свежий в моей голове
Для моего примера я хотел, чтобы Facebook перенаправлялся на мою главную страницу входа, которая является открытой реализацией id connect. Клиент подписывается на это, и я получаю id_token и access_token от этого. Получив access_token, я извлекаю заявку «sub» из JWT, которая является уникальным идентификатором клиента в нашей базе данных.
Затем я перенаправляю обратно к значению, которое было отправлено мне в redirect_uri, добавив authorize_code = {the-value-of-the-sub-Claim}
Затем он запускает веб-сайт «account link», который будет отправлять на мой код обслуживания, содержащий PSID пользователя Facebook и authorization_code, который является моим уникальным идентификатором клиента в моей бизнес-базе данных.
Теперь у вас есть 2 бита необходимой вам информации, уникальный идентификатор facebook и уникальный идентификатор клиента в сообщении «Сообщение». Это до вашего бизнес-кода, чтобы сохранить эту информацию в каком-то хранилище в этот момент
На последующих сообщениях сообщений в конечную точку Бот всегда есть отправитель (PSID) в сообщении. Теперь ваш код может найти соответствующий идентификатор для вашей компании и выполнить операции, относящиеся к этому идентификатору.
Там, где происходит привязка – это в вашем коде, вам нужно обработать сообщение из веб-узла ссылки на аккаунт и сохранить данные для будущего использования.