腾讯微博提示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.ini中文版(2)
Oct 09 PHP
BBS(php & mysql)完整版(三)
Oct 09 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php实现简单洗牌算法
Jun 18 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
php中error与exception的区别及应用
Jul 28 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP如何使用Memcached
2016/04/05 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
javascript 类型判断代码分析
2010/03/28 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
一个超级简单的python web程序
2014/09/11 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
python反扒机制的5种解决方法
2021/02/06 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
大学生求职计划书
2014/04/30 职场文书
小学工作总结2015
2015/05/04 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android