Я использую механизм объединения #unificationengine API для публикации сообщения на facebook. Я выполнил все шаги и создал подключения для использования разъемов. Все запросы на завивки работают нормально, пока не отправляются сообщения. В каждом завитке создайте пользователя, создайте соединение, обновите соединение, которое я получаю
{ 'Статус': 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
SO вопрос 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 \ ": []}
используйте это как 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, чтобы сделать долгоживущий токен долговечным.