Запрещенная ошибка 403 в API Unification Engine при отправке сообщения

Я использую API #unificationengine для отправки сообщения на Facebook. Подробности, которые я дал при регистрации моего приложения на Facebook:

  1. URL сайта: http://localhost:3000/

  2. Адрес электронной почты и другие необходимые данные

В UnificationEngine API я использовал пошаговые инструкции, упомянутые в их документации, следующим образом: 1. Создал пользователя, используя ключ API и Секрет 2. Добавил соединение 3. Тестировал соединение 4. Обновил соединение 5. Отправил сообщение

Все 4 дали 200 успешных кодов, но отправка сообщения выдала 403 ошибочную ошибку.

Завиток, который я использую для этого, как показано ниже:

  $post_msg = json_encode(
        array(
            'message' =>
                array(
                    'receivers' =>
                        array(
                                array(
                                    'name'      => 'Me',
                                    'address'   => 'https://graph.facebook.com/v2.5/me/feed',
                                    'Connector' => 'facebook'

                                ),
                        ),
                        'sender'    =>
                        array('address' => ''),
                        'subject'   => 'Hello',
                        'parts'     =>
                        array(
                                array(
                                    'id'          => '1',
                                    'contentType' => 'text/plain',
                                    'data'        => 'Hi welcome to UE',
                                    'size'        => 100,
                                    'type'        => 'body',
                                    'sort'        => 0

                            ),
                        ),
                    ),

                )
            );



    $ch = curl_init('https://apiv2.unificationengine.com/v2/message/send');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_USERPWD,'3f43c37b-a066-4cc4-a3be-33faf72d6a21:2722fc72d-5d347-4a3a-a82b-0c1ss51aafb4');
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_msg);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);




    // execute!
    $response = curl_exec($ch);

    // close the connection, release resources used
    curl_close($ch);

    // do anything you want with your response
    var_dump($response);



    return ['label' =>$response];

Я пытаюсь понять это. Но безуспешно.

Опять же я хотел бы упомянуть, что я использую это на локальном хосте, может ли это быть причиной запрещенной ошибки? Если это так, то facebook graph api, из которого мы получаем токен доступа, также должен выдавать такую ​​ошибку.

Ранее я публиковал этот вопрос, вот и я не нашел правильного решения. Я добавил опции Curl, которые упоминаются в комментарии к моему вопросу, но это ничего не изменило.

Любая помощь будет высоко оценен.

Сообщение об ошибке:

{\ "Status \": {\ "facebook \": {\ "status \": 403, \ "info \": \ "Forbidden: \"}}, \ "URIs \": []}

ОБНОВЛЕНИЕ Ниже приведен json, который я получаю, когда запускаю me/permissions в Facebook Graph API Explorer:

{
  "data": [
    {
      "permission": "user_birthday",
      "status": "granted"
    },
    {
      "permission": "user_about_me",
      "status": "granted"
    },
    {
      "permission": "user_status",
      "status": "granted"
    },
    {
      "permission": "user_posts",
      "status": "granted"
    },
    {
      "permission": "email",
      "status": "granted"
    },
    {
      "permission": "manage_pages",
      "status": "granted"
    },
    {
      "permission": "publish_actions",
      "status": "granted"
    },
    {
      "permission": "public_profile",
      "status": "granted"
    }
  ]
}

2 ответа

Решение

Я решил эту проблему:

public function facebookSharing($access_token) {
        $app = new UEApp(env('UNIFICATION_APP_KEY'), env('UNIFICATION_APP_SECRATE'));
        $user = new UEUser('unification_userkey', 'unification_usersecret');
        $connection = $user->add_connection('FACEBOOK', "facebook", $access_token);
        $options = array(
            "receivers" => array(
                array(
                    "name"=> "Me"
                )
            ),
            "message"=>array(
                "subject"=>'testing',
                "body"=> 'description',
                "image"=> 'use any image url',
                "link"=>array(
                    "uri"=> 'any web site url',
                    "description"=> "",
                    "title"=>"Title"
                )
            )
        );
        $uris = $connection->send_message($options);
    }

Пожалуйста, используйте ваши ключи, такие как Facebook accessnoken UNIFICATION_APP_KEY (это ваши ключи объединения) UNIFICATION_APP_SECRATE (это ваши ключи объединения)

Если это не сработает, пожалуйста, дайте мне знать.

Можете ли вы подтвердить правильность введенного вами имени "Соединитель"?

Пока я пробовал предоставленный вами пример кода, я мог отправить сообщение на Facebook через UE.

Можете ли вы предоставить точное сообщение об ошибке, которое возвращается при выполнении команды?

Другие вопросы по тегам