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

本文档详细介绍了如何解决使用新浪微博PHP SDK调用'upload_url_text'接口时遇到的20007错误。错误源于请求接口名错误及参数设置不当。正确做法是将请求接口改为'statuses/upload_url_text',并将第三个参数设为false,修正后的代码可以成功发布图文微博。
摘要由CSDN通过智能技术生成

本文章来转一篇关于新浪微博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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值