腾讯微博提示missing parameter errorcode 102 错误的解决方法
2015-01-24信息快讯网
这篇文章主要介绍了腾讯微博提示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通过Chianz.com获取IP地址与地区的方法
ucenter通信原理分析
php计划任务之ignore_user_abort函数实现方法
WampServer下安装多个版本的PHP、mysql、apache图文教程
PHP和Shell实现检查SAMBA与NFS Server是否存在
php实现utf-8转unicode函数分享
windows中为php安装mongodb与memcache
phpQuery让php处理html代码像jQuery一样方便
php下Memcached入门实例解析
ioncube_loader_win_5.2.dll的错误解决方法
php从memcache读取数据再批量写入mysql的方法
PHP中使用xmlreader读取xml数据示例
dedecms集成财付通支付接口
为PHP5.4开启Zend OPCode缓存
PHP使用memcache缓存技术提高响应速度的方法
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
WebQQ最新登陆协议的用法
php有道翻译api调用方法实例
thinkphp中session和cookie无效的解决方法
php运行提示:Fatal error Allowed memory size内存不足的解决方法
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
php中magic_quotes_gpc对unserialize的影响分析
php中get_meta_tags()、CURL与user-agent用法分析
php使用ereg验证文件上传的方法
php使用pdo连接报错Connection failed SQLSTATE的解决方法
php第一次无法获取cookie问题处理
PHP中Memcache操作类及用法实例
CI框架中cookie的操作方法分析
jQuery Mobile + PHP实现文件上传
PHP使用header()输出图片缓存实例
PHP内存缓存Memcached类实例
PHP模块memcached使用指南
Codeigniter框架实现获取分页数据和总条数的方法
Yii不依赖Model的表单生成器用法实例
phpstorm配置Xdebug进行调试PHP教程
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例