Heim >php教程 >php手册 >新浪微博PHP版SDK的导致20007错误

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

WBOY
WBOYOriginal
2016-06-13 09:56:491285Durchsuche

本文章来转一篇关于新浪微博PHP版SDK的导致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);
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn