403 запрещена ошибка при отправке сообщений на коннектор Facebook через API Unification Engine

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

{'Статус':200,'Информация':'ОК'}

А теперь я хочу использовать соединитель, чтобы публиковать сообщения на Facebook. Ниже мой код Curl:

$post_msg = json_encode(
        array(
            'message' =>
                array(
                    'receivers' =>
                        array(
                                array(
                                    'name'      => 'Me',
                                    'address'   =>'https://graph.facebook.com/'.$request->profile_id.'/feed?access_token='.$request->access_token.'&message=Hello&method=post',
                                    'Connector' => 'facebook'

                                ),
                        ),
                        'sender'    =>
                        array('address' => 'sender address'),
                        'subject'   => 'Hello',
                        'parts'     =>
                        array(
                                array(
                                    'id'          => '1',
                                    'contentType' => 'binary',
                                    '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_USERPWD, "0a7f4444-ae4445-45444-449-d9b7daa63984:8755b446-6726-444-b34545d-713643437560");
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    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];

и я получаю:

статус: 403 и информация: запрещено в ответ.

Я перепробовал все доступное в документации и переполнении стека или на любом другом веб-сайте. Но удача.

Пожалуйста, предложите, почему я получаю эту ошибку?

Refrence SO Вопросы:

  1. ТАК вопрос 1

  2. ТАК вопрос 2

Благодарю.

Обновление Я добавил эти три параметра в запрос curl:

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, true); 

и теперь я получаю 498, недопустимая ошибка токена доступа:

"{\" Status \ ": {\" facebook \ ": {\" status \ ": 498, \" info \ ": \" Недопустимый токен: \"}},\"URIs\":[] }

2 ответа

Решение

Пожалуйста, используйте это согласно php

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 или обновите соединение.

Срок действия маркеров доступа к Facebook составляет около двух часов. Для более долгоживущих веб-приложений, особенно на стороне сервера, необходимо создавать долгоживущие токены. Долгоживущие токены обычно длится около 60 дней.

UE имеет возможность обновлять токены Facebook. После добавления соединения используйте "apiv2.unificationengine.com/v2/connection/add"; вызов API, тогда вы должны позвонить "apiv2.unificationengine.com/v2/connection/refresh"; API, чтобы сделать недолгий токен долгоживущим.

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