今天在调试腾讯微博接口时,出现一个错误,找了网上都没有相关资料,最后自己调通了,故发布此博文,避免各位phper重复造轮子。 错误信息: stdClass Object( [data] = [detailerrinfo] = stdClass Object ( [accesstoken] = [apiname] = weibo.user.info [a
今天在调试腾讯微博接口时,出现一个错误,找了网上都没有相关资料,最后自己调通了,故发布此博文,避免各位phper重复造轮子。
错误信息:
stdClass Object ( [data] => [detailerrinfo] => stdClass Object ( [accesstoken] => [apiname] => weibo.user.info [appkey] => 801485800 [clientip] => 112.193.138.133 [cmd] => 0 [proctime] => 0 [ret1] => 3 [ret2] => 3 [ret3] => 102 [ret4] => 3659629834 [timestamp] => 1394436892 ) [errcode] => 102 [msg] => missing parameter [ret] => 3 [seqid] => 1394436894 )登录后复制
在腾讯微博开放平台的官方资料中,未发现解释此错误代码102的开发文档。经过与腾讯微博PHP SDK对比后发现少了一个参数。
在请求用户资料的参数中oauth_version是必填的,而且在OAuth2中,它的值必须为2.a。
请求的参数中,OAuth2部分需包含:
字段 | 说明 |
---|---|
oauth_consumer_key | appkey |
access_token | 授权获得的accesstoken |
openid | 授权获取的openid |
clientip | 客户端的ip |
oauth_version | 版本号,必须为2.a |
scope | 请求权限范围(默认“all”) |
$http = drupal_http_request(url('https://open.t.qq.com/api/user/info', array( 'query' => array( 'access_token' => $access_token, 'oauth_consumer_key' => $provider['key'], 'openid' => $_GET['openid'], 'clientip' => ip_address(), 'scope' => 'all', 'seqid' => REQUEST_TIME, 'serverip' => $_SERVER['SERVER_ADDR'], 'oauth_version' => '2.a', //'appfrom' => 'php-sdk2.0beta', ), )));登录后复制
注意:
加上字段后需要重新从登录页面重新授权一次,不然会出现错误“check sign error” 错误代码36。
(...)
Read the rest of 解决腾讯微博 missing parameter errorcode 102 (249 words)
© Li Xi for LixiPHP, 2014. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: 102, drupal, errorcode, missing parameter, qq, QQweibo, 腾讯微博
Feed enhanced by Better Feed from Ozh