Я использую 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 Вопросы:
Благодарю.
Обновить
Я добавил эти три параметра в запрос 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, чтобы сделать недолгий токен долгоживущим.