2014-02-25 80 views
1

我試圖通過PHP/cURL和OAuth2向中文微博網站新浪微博發佈status update。 我遇到了此問題:如何通過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應用程序和令牌是有效的。 錯誤的原因是什麼?

回答

2

刪除你的HTTP頭

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

替換爲後場:

CURLOPT_POSTFIELDS => http_build_query($postData) 

現在幸福!

+0

我現在真的很開心!非常感謝! – Uli