好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

腾讯微博 missing parameter errorcode 102 错误解决方法

腾讯微博 missing parameter errorcode 102 错误解决方法

今天在调试腾讯微博接口时,出现一个错误,找了网上都没有相关资料,最后自己调通了,故发布此博文,避免各位phper重复造轮子.

错误信息,代码如下:

stdClass Object  (      [data] =>       [detailerrinfo] => stdClass Object          (              [accesstoken] =>               [apiname] => www.phpfensi.com              [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对比后发现少了一个参数.

解决错误代码102的办法:

在请求用户资料的参数中oauth_version是必填的,而且在OAuth2中,它的值必须为2.a.

请求的参数中,OAuth2部分需包含:

字段 说明

oauth_consumer_key appkey 

access_token 授权获得的accesstoken 

openid 授权获取的openid 

clientip 客户端的ip 

oauth_version 版本号,必须为2.a 

scope 请求权限范围(默认[all])

Drupal 腾讯微博登录实例代码:

$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.

以下重复刷新接口导致的签名错误返回值,代码如下:

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] => 36              [ret4] => 2636350730              [timestamp] => 1394437225          )        [errcode] => 36      [msg] => check sign error      [ret] => 3      [seqid] => 1394437227  ) 

获取腾讯微博用户资料,获取当前登录用户的个人资料 user/info 接口返回值的字段说明,代码如下:

{   errcode : 返回错误码,   msg : 错误信息,   ret : 返回值,0-成功,非0-失败,   data :    {    birth_day : 出生天,    birth_month : 出生月,    birth_year : 出生年,    city_code : 城市id,    comp :     {     begin_year : 开始年,     company_name : 公司名称,     department_name : 部门名称,     end_year : 结束年,     id : 公司id    },    country_code : 国家id,    edu : 教育信息    {     departmentid : 院系id,     id : 教育信息记录id,     level : 学历级别,     schoolid : 学校id,     year : 入学年    },    fansnum : 听众数,    favnum : 收藏数,    head : 头像url,    homecity_code : 家乡所在城市id,    homecountry_code : 家乡所在国家id,    homepage : 个人主页,    homeprovince_code : 家乡所在省id,    hometown_code : 家乡所在城镇id,    idolnum : 收听的人数,    industry_code : 行业id,    introduction : 个人介绍,    isent : 是否企业机构,    ismyblack : 是否在当前用户的黑名单中,0-不是,1-是,    ismyfans : 是否是当前用户的听众,0-不是,1-是,    ismyidol : 是否是当前用户的偶像,0-不是,1-是,    isrealname : 是否实名认证,1-已实名认证,2-未实名认证,    isvip : 是否认证用户,0-不是,1-是,    location : 所在地,    mutual_fans_num : 互听好友数,    name : 用户帐户名,    nick : 用户昵称,    openid : 用户唯一id,与name相对应,    province_code : 地区id,    regtime : 注册时间,    send_private_flag : 是否允许所有人给当前用户发私信,0-仅有偶像,1-名人+听众,2-所有人,    sex : 用户性别,1-男,2-女,0-未填写,    tag : 标签    {     id : 个人标签id,     name : 标签名    },    tweetinfo : 最近的一条原创微博信息    {     city_code : 城市码,     country_code : 国家码,     emotiontype : 心情类型,     emotionurl : 心情图片url,     from : 来源,     fromurl : 来源url,     geo : 地理位置信息,     id : 微博唯一id,     image : 图片url列表,     latitude : 纬度,     location : 发表者所在地,     longitude : 经度,     music : 音频信息     {      author : 演唱者,      url : 音频地址,      title : 音频名字,歌名     },     origtext : 原始内容,     province_code : 省份码,     self : 是否自已发的的微博,0-不是,1-是,     status : 微博状态,0-正常,1-系统删除,2-审核中,3-用户删除,4-根删除,     text : 微博内容,     timestamp : 服务器时间戳,不能用于翻页,     type : 微博类型,1-原创发表,2-转载,3-私信,4-回复,5-空回,6-提及,7-评论,     video : 视频信息     {      picurl : 缩略图,      player : 播放器地址,      realurl : 视频原地址,      shorturl : 视频的短url,      title : 视频标题     }    },    tweetnum : 发表的微博数,    verifyinfo : 认证信息,     exp  : 经验值,    level : 微博等级   },   seqid : 序列号  }  

剩下的事就非常容易了,处理你自己程序部分的逻辑业务.

查看更多关于腾讯微博 missing parameter errorcode 102 错误解决方法的详细内容...

  阅读:42次