API обмена сообщениями Facebook cURL PHP - PullRequest
1 голос
/ 16 июня 2019

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

object(stdClass)#21 (1) {
  ["error"]=>
   object(stdClass)#20 (4) {
    ["message"]=>
    string(59) "(#100) Parameter error: You cannot send messages to this id"
    ["type"]=>
    string(14) "OAuthException"
    ["code"]=>
    int(100)
    ["fbtrace_id"]=>
    string(11) "Be4HuMv5xOZ"
  }
}

И вот мой код:

   public function Sendfb()
{
    $request = 'https://graph.facebook.com/v3.3/me/messages?access_token=xxx';
    $body = array(
        'messaging_type' => 'RESPONSE',
        'recipient' => array('id' => 'xxx'),
        'message' => array('text' => 'Hello Messaging world')
    );
    $body = json_encode($body);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $request);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($body))
    );
    $output = curl_exec($ch);
    $output = json_decode($output);
    curl_close($ch);
    var_dump($output);
}

Мне нужно сделать что-то еще?

1 Ответ

0 голосов
/ 17 июня 2019

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

Идентификатор должен быть идентификатором, который был получен через точки входа Messenger или через веб-зацепки Messenger (например, человек может обнаружить вашу компанию в Messengerи начните разговор оттуда.

Эти идентификаторы являются идентификаторами в области страниц (PSID). Это означает, что идентификаторы являются уникальными для данной страницы.

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

Источник: https://developers.facebook.com/docs/messenger-platform/reference/send-api/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...