2016-12-15 3 views
0

У меня есть учетная запись FB и 3 страницы. Также я разрабатываю java Bot, который должен отправить сообщение на страницу после того, как эта страница была подписана на мое приложение FB. Проблема в том, что мне нужно отправить поздравительное сообщение зарегистрированному пользователю (который подписался на его страницу). Или отправить сообщение этому пользователю как-то. Но, когда пользователь подписывает мое приложение на любую страницу, я получаю его идентификатор и сохраняю его, чтобы отправить поздравительное сообщение. Но проблема в том, что этот идентификатор пользователя кажется абсолютно неправильным, я не могу отправить ему какое-либо сообщение с любым токеном доступа, ни маркером страницы, ни другим. Таким образом, рабочий процесс:Facebook API отправить сообщение на страницу

  1. сгенерировать URL авторизации
  2. I (я) его этот адрес
  3. Facebook запускает свою функцию обратного вызова
  4. Я получаю маркер доступа от маркеров я получил в обратном вызове
  5. I используйте этот токен, чтобы связать мое приложение со своей страницей, все в порядке
  6. В этом обратном вызове я получаю текущий идентификатор пользователя, чтобы отправить сообщение после ссылки
  7. После подписки Я пытаюсь отправить сообщение пользователю, но постоянно получаю «(# 100) Нет соответствующего пользователя«

Но если я отправлю сообщение с этой страницы, то идентификатор пользователя, который я получаю, полностью отличается от этого Я описал выше. И если я использую этот идентификатор со страницы, все работает нормально. Как отправить сообщение или может быть невозможно отправить сообщение напрямую или только в ответ на сообщение пользователя?

+1

Вы можете отправлять сообщения только пользователям, которые раньше взаимодействовали с вашим ботом - им нужно начать разговор. И мессенджер использует идентификаторы пользователей с веб-сайтами, в то время как у вас есть приложение с областью действия приложения. Это по-разному. – CBroe

ответ

1

Возможно, вы смешиваете «Идентификатор приложения с областью видимости» и «Идентификатор области страницы».

Приложение Scoped ID: вы получаете это после авторизации пользователя с вашим приложением. Не связано с ботами.

Page Scoped ID: Вы получаете тот, когда пользователь начинает использовать ваш бот. Для этого не требуется авторизация.