腾讯微博提示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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
动态新闻发布的实现及其技巧
Oct 09 PHP
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
GBK的页面输出JSON格式的php函数
Feb 16 PHP
discuz的php防止sql注入函数
Jan 17 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
php 常用算法和时间复杂度
Jul 01 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
php实现随机显示图片方法汇总
May 21 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
Zend公司全球首推PHP认证
2006/10/09 PHP
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php xml实例 留言本
2009/03/20 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
Python imread、newaxis用法详解
2019/11/04 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
英国袜子店:Sock Shop
2017/01/11 全球购物
学生自我鉴定范文
2013/10/04 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
团支部建设方案
2014/05/02 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers