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


Posted in PHP onDecember 22, 2014

本文实例讲述了腾讯微博提示missing parameter errorcode 102 错误的解决方法。分享给大家供大家参考。具体分析如下:

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

错误信息,代码如下:

stdClass Object 

( 

    [data] =>  

    [detailerrinfo] => stdClass Object 

        ( 

            [accesstoken] =>  

            [apiname] => 3water.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 : 序列号 

}

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

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP新手上路(九)
Oct 09 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
PHP程序员的技术成长规划
Mar 25 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 PHP
php有道翻译api调用方法实例
Dec 22 #PHP
php匹配字符中链接地址的方法
Dec 22 #PHP
php用户注册时常用的检验函数实例总结
Dec 22 #PHP
CentOS6.5 编译安装lnmp环境
Dec 21 #PHP
在SAE上搭建最新wordpress的方法
Dec 21 #PHP
PHP获取当前完整URL地址的函数
Dec 21 #PHP
学习php开源项目的源码指南
Dec 21 #PHP
You might like
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP中list方法用法示例
2016/12/01 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python模块之subprocess模块级方法的使用
2019/03/26 Python
pycharm配置git(图文教程)
2019/08/16 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
C有"按引用传递"吗
2016/09/06 面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
《只有一个地球》教学反思
2014/02/14 职场文书
中国入世承诺
2014/04/01 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
高一数学教学反思
2016/02/18 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python