1. 程式人生 > >Android整合微信登入的步驟詳解、遇到的問題,友盟分享遇到的問題

Android整合微信登入的步驟詳解、遇到的問題,友盟分享遇到的問題

轉載的問題:http://www.jb51.net/article/93706.htm

這篇文章給大家整理Android整合微信登入的詳細步驟,通過文章整理的內容,大家只需要幾行程式碼就可以實現微信登入的功能了,剛興趣的朋友們下面來一起看看吧。歡迎提問~~~

微信的:

1.資料的請求方式:get

2.獲取授權口令其中一個是appid,一個是secret,其中後者在微信申請的時候出現一次需要記錄下來,如果再想檢視的話需要重置。

友盟分享的:

1.微信只有釋出版本的,所以在測試的時候需要打包簽名之後再測試

2.友盟微信分享成功後回到原APP出現白屏介面:WXEntryActivity需要繼承WXCallbackActivity,需要匯入

importcom.umeng.socialize.weixin.view.WXCallbackActivity;

3.整合友盟分享以及單獨的微信登入之後總是出現以下錯誤:"errcode": 40001, "errmsg": "invalid credential, access_token is invalid or not latest hint: [17ZG50664ent3]和"errcode": 40163。這兩個錯誤都導致access_token的無效性,據官方code進行獲取access_token的時候需要用到,code的超時時間為10分鐘,一個code只能成功換取一次access_token即失效。code的臨時性和一次保障了微信授權登入的安全性。

access_token是呼叫授權關係介面的呼叫憑證,由於access_token有效期(目前為2個小時)較短,當access_token超時後,可以使用refresh_token進行重新整理,access_token重新整理結果有兩種:

  1. 若access_token已超時,那麼進行refresh_token會獲取一個新的access_token,新的超時時間;
  2. 若access_token未超時,那麼進行refresh_token不會改變access_token,但超時時間會重新整理,相當於續期access_token。

refresh_token擁有較長的有效期(30天),當refresh_token失效的後,需要使用者重新授權

。 

但是獲取到的access_token、refresh_token都顯示過期,原因:微信登入呼叫了微信該介面,友盟內部封裝好的也呼叫了該介面,但兩者的access_token是分開快取的,所以導致登入時access_token、refresh_token的失效,解決方法,就是整個系統使用統一的獲取access_token的方法,保證access_token的有效性。為了保證統一的token,用了友盟封裝好的第三方登入。

4.提示缺少友盟XX包的時候,要去下載的sdk中複製

5.友盟的QQ登入,提示“非應用寶正式版本,應安裝正式版”,錯誤碼100044,需要到“QQ互聯管理中心”關聯軟體,如果已經關聯需要檢查appid是否正確,以及簽名是否字母都是小寫並且沒有冒號;如果還提示,則是測試賬號有問題,要到騰訊開放平臺檢視測試要用的QQ登入賬號,其在“應用除錯者“,測試賬號是原賬號以及與其新增為好友的賬號。

以下是官方給出的解釋:

原因:簽名問題導致。
解決方法:1、檢查程式碼裡配置的appid是否正確。2、修改簽名。
簽名修改操作步驟:對應移動應用的開發者可以進入QQ互聯官網
    =》應用管理=》移動應用=》關聯騰訊開放平臺,根據提示關聯創建出現問題的移動應用,修改/新增相應的簽名或者包名。
注:1、獲取對應報錯包名所用的簽名信息進行修改或者新增。
2、若QQ互聯裡已有對應的移動應用,可直接改簽名;若無對應移動應用,要先關聯開放平臺建立一個同APP ID的應用進行包名/簽名修改或者新增
3、包名、簽名需小寫,去掉冒號