新浪微博PHP版SDK的BUG,導致20007錯誤的解決方案


新浪微博有個高級接口’statuses/upload_url_text’(需要在open.weibo.com中額外申請)。

傳遞一個圖片URL地址和文本內容,就可以發一條圖文微博

對應在php版SDK的function如下:

       /**
	 * 指定一個圖片URL地址抓取后上傳並同時發布一條新微博
	 *
	 * 對應API:{@link http://open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
	 *
	 * @param string $status  要發布的微博文本內容,內容不超過140個漢字。
	 * @param string $url    圖片的URL地址,必須以http開頭。
	 * @return array
	 */
	function upload_url_text( $status,  $url )
	{
		$params = array();
		$params['status'] = $status;
		$params['url'] = $url;
		return $this->oauth->post( 'statuses/upload', $params, true );
	}

調用api的處有明顯的錯誤:$this->oauth->post( 'statuses/upload', $params, true );

(一方面應該請求:statuses/upload_url_text,另外一方面第三個參數錯誤)

以致會出現:20007錯誤(20007:does multipart has image ?)

改成這樣就ok了:

       /**
	 * 指定一個圖片URL地址抓取后上傳並同時發布一條新微博
	 *
	 * 對應API:{@link http://open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
	 *
	 * @param string $status  要發布的微博文本內容,內容不超過140個漢字。
	 * @param string $url    圖片的URL地址,必須以http開頭。
	 * @return array
	 */
	function upload_url_text( $status,  $url )
	{
		$params = array();
		$params['status'] = $status;
		$params['url'] = $url;
		return $this->oauth->post( 'statuses/upload_url_text', $params, false);
	}

 另:歡迎圍觀我今天做的微博應用:http://apps.weibo.com/wmyunqi

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

承接微信公眾平台消息接口開發、PHP、.NET、javascript、html5程序開發;新浪微博應用、騰訊微博應用等各大開放平台應用開發業務

聯系QQ:1433273389 

關注媽媽助手(賬號mmhelper)方法:

1. 依次進入以下路徑:朋友們—>添加朋友—>搜號碼,輸入mmhelper,不區分大小寫,點擊查找,然后點擊關注。

2. 掃描二維碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM