Facebook API {"error": {"message": "(# 100) Соответствующий пользователь не найден", "type": плагин флажка "OAuthException") - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь использовать функцию плагина checkbox.Мне удается сделать флажок оказанным.Несколько дней назад мне удалось отправить пользователю простой текст «Hello World».Но сейчас я ничего не могу отправить.Всякий раз, когда я пытался отправить пользователю, я получаю эту ошибку:

{"error":{"message":"(#100) No matching user found","type":"OAuthException","code":100,"error_subcode":2018001,"fbtrace_id":"HCZPBkofiz9"}}

Я даже пытаюсь использовать cURL, но безуспешно, все та же ошибка.

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
      "user_ref":"<UNIQUE_REF_PARAM>"
  }, 
  "message": {
      "text":"hello, world!"
  }
}' "https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>" 

What I 'сделано:

  1. Неустановленное приложение со страницы.
  2. Снова выберите страницу и сгенерируйте новый PAGE_ACCESS_TOKEN.
  3. Подписаться на сообщения, сообщения Messaging_postbacks, Messaging_optins на веб-шуткистр.
  4. Установите новый токен в .env.
  5. Сохраните новый user_ref через плагин checkbox.
  6. Попробуйте cURL, используя новый user_ref, не повезло.

Я могу отправить с идентификатором отправителя, но не user_ref для плагина флажка.

Любая помощь очень ценится:)

1 Ответ

0 голосов
/ 01 октября 2018

Я нашел решение.Оказывается, я запутался со всеми токенами доступа, потому что они все почти одинаковые, НО это на самом деле не так.Чтобы получить правильный токен доступа, я использую Graph API Explorer .

Шаги:

В разделе токена доступа:

  1. Приложение Facebook,Я выбираю свое приложение, которое я использую для своего проекта.
  2. Пользователь или Страница, я изменяю его на свою Страницу, чтобы получить токены доступа к странице.Он автоматически сгенерирует токен доступа к странице.
  3. Я выбираю разрешение, которое мне нужно.Для моего проекта крайне важны manage_pages и pages_messaging.

Примечание : если вы нажмете Получить токен доступа, он сгенерирует новый, а на самом деле он не совпадает.

После выбора разрешения для проверки сгенерированного токена доступа я делаю следующие шаги:

В Graph API Explorer:

  1. Измените метод с GET на POST.Это позволит вам писать в Params и JSON.
  2. Из примера cURL в этой документации под номером 6. Скопируйте только часть JSON и поместите в поле JSON.
  3. Измените <UNIQUE_REF_PARAM> на тот, который я сохранил в дБ, например:

    {
        "recipient": {
            "user_ref": "xplynagfqasoiuqnwyepnyiqe"
        },
        "message": {
            "text": "hello, world!"
        }
    }
    
  4. Поскольку пример cURL отправляет на

    https://graph.facebook.com/v2.6/me/messages?access_token=<PAGE_ACCESS_TOKEN>.

Поэтому я изменяю отправку на POST->/v3.1->/me/messages

Отправьте POST.

В случае успеха API отправки ответит идентификатором сообщения:

{
    "message_id": "mid.1456970487936:c34767dfe57ee6e339"
}

И это означает, что вы можете использовать сгенерированный токен доступа с правой стороны.как ваш PAGE_ACCESS_TOKEN.

...