程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 騰訊微博提示missing parameter errorcode 102 錯誤的解決方法

騰訊微博提示missing parameter errorcode 102 錯誤的解決方法

編輯:PHP綜合

本文實例講述了騰訊微博提示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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved