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

 更新时间:2014年12月22日 13:16:19   投稿:shichen2014  
这篇文章主要介绍了腾讯微博提示missing parameter errorcode 102 错误的解决方法,是针对腾讯微博接口开发中比较典型的错误问题,需要的朋友可以参考下

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

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

错误信息,代码如下:

复制代码 代码如下:
stdClass Object
(
    [data] => 
    [detailerrinfo] => stdClass Object
        (
            [accesstoken] => 
            [apiname] => www.jb51.net 
            [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封装的非对称加密RSA算法示例

    PHP封装的非对称加密RSA算法示例

    这篇文章主要介绍了PHP封装的非对称加密RSA算法,结合实例形式分析了php实现的RSA加密算法类及其相关使用技巧,需要的朋友可以参考下
    2018-05-05
  • PHP 服务器配置(使用Apache及IIS两种方法)

    PHP 服务器配置(使用Apache及IIS两种方法)

    简单介绍使用Apache及IIS解析PHP
    2009-06-06
  • php中switch语句用法详解

    php中switch语句用法详解

    Switch语句也是面向对象编程语句中最长常见的逻辑控制语句了。Switch 语句用于执行基于多个不同条件的不同动作 – 即当条件不同的时候,执行不同的逻辑操作。
    2015-08-08
  • php目录遍历函数opendir用法实例

    php目录遍历函数opendir用法实例

    这篇文章主要介绍了php目录遍历函数opendir用法,以实例形式详细分析了opendir原理与用法,是PHP进行目录操作的一个重要函数,需要的朋友可以参考下
    2014-11-11
  • PHP实现简单汉字验证码

    PHP实现简单汉字验证码

    大家知道简单数字或者字母验证码很容易被破解,但是算式验证码或者中文汉字验证码不容易被破解,所以建议大家在使用验证码的时候,尽量用算式验证码或者中文汉字验证码。
    2015-07-07
  • WordPress中登陆后关闭登陆页面及设置用户不可见栏目

    WordPress中登陆后关闭登陆页面及设置用户不可见栏目

    这篇文章主要介绍了WordPress中登陆后关闭登陆页面及设置用户不可见栏目的方法,是多用户模式下比较实用的两个功能,需要的朋友可以参考下
    2015-12-12
  • php下pdo的mysql事务处理用法实例

    php下pdo的mysql事务处理用法实例

    这篇文章主要介绍了php下pdo的mysql事务处理用法,以实例形式分析了基于pdo的事物提交与回滚操作的用法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php与python实现的线程池多线程爬虫功能示例

    php与python实现的线程池多线程爬虫功能示例

    这篇文章主要介绍了php与python实现的线程池多线程爬虫功能,结合实例形式分析了php与python实现线程池多线程爬虫的完整实现方法,需要的朋友可以参考下
    2016-10-10
  • php中ob_flush函数和flush函数用法分析

    php中ob_flush函数和flush函数用法分析

    这篇文章主要介绍了php中ob_flush函数和flush函数用法,实例分析了ob_flush函数和flush函数的功能及相关的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php导出中文内容excel文件类实例

    php导出中文内容excel文件类实例

    这篇文章主要介绍了php导出中文内容excel文件类,实例分析了php操作带有中文内容的Excel文件及文件导出的实现方法,需要的朋友可以参考下
    2015-07-07

最新评论