Как опубликовать обновление статуса на Sina Weibo через OAuth2?

Я пытаюсь опубликовать обновление статуса на китайском веб-сайте микроблогов Sina Weibo через PHP/cURL и OAuth2. Я сталкиваюсь с этой ошибкой:

{"error": "auth faild!", "error_code": 21301, "request": "/ 2 / statuses / update.json"}

Мой PHP:

<?php
$ch = curl_init('https://api.weibo.com/2/statuses/update.json');
$headers = array(
'Authorization: Bearer '.$access_token,  
'Content-Type: application/x-www-form-urlencoded');
$postData = array('access_token' => '2.00x123456789', 'status' => 'hello');

curl_setopt_array($ch, array(
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => TRUE,
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $postData
));

$response = curl_exec($ch);
echo $response;

curl_close($ch);        
?>

Я авторизовал приложение с областью OAuth2 all и токен действителен. В чем может быть причина ошибки?

1 ответ

Решение

Удалите заголовок http

'Content-Type: application/x-www-form-urlencoded'

Замените поля сообщения:

CURLOPT_POSTFIELDS => http_build_query($postData)

А теперь будь счастлив!

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