新浪微博有個高級接口’statuses/upload_url_text’(需要在open.weibo.com中額外申請),傳遞一個圖片URL地址和文本內容,就可以發一條圖文微博,對應在php版SDK的function如下:
- <?php
- /**
- * 指定一個圖片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了:
- <?php /**
- * 指定一個圖片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);
- } ?>
新聞熱點
疑難解答