首页 > php开发 > 新浪微博PHP版SDK的导致20007错误

新浪微博PHP版SDK的导致20007错误

新浪微博有个高级接口'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);  
} 
?>


永久地址:http://www.phprm.com/develop/fs727.html

转载随意~请带上教程地址吧^^

标签:新浪微博 php版 20007错误

相关文章

发表留言