版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、微博 Android 平臺 SDK 文檔編號:WEIBO_ANDROID_SDK版本:WEIBO_ANDROID_SDK V2.5.0修訂記錄:時間文檔版本修訂人備注2012/7/202.0.0初稿2012/8/22.0.02013/4/172.1.0新增分享微博2013/9/122.3.0新增登入登出按鈕、好友邀請接口2013/11/112.4.0重大版本變更: 授權、分享等代碼的重構 代碼、文檔等規(guī)范化 開源OpenAPI 部分代碼2014/3/72.5.0 重構網(wǎng)絡模塊代碼 提供同步和異步的網(wǎng)絡請求接口 提供網(wǎng)絡模塊常用接口,如獲取用戶信息 提供網(wǎng)絡請求后的數(shù)據(jù)結構,如 User、微博信
2、息流等數(shù)據(jù)結構 修正若UG 簡化文檔新浪微博 Android SDK目錄1.概述及名詞解釋11.1 認證授權11.2 名詞解釋1功能列表2.32.4認證授權1微博分享2登錄/注銷按鈕2開放接口23.運行示例代碼導入工程3修改debug.keystore3編譯運行44.微博 SDK 及DEMO 工程目錄結構及分析54.1 閉源部分結構分析54.2 開源部分結構分析64.3 Demo 部分結構分析6集成前準備5.35.4申請應用程序的APP_KEY7注冊應用程序的包名和簽名7選擇應用的集成方式7在應用中添加 SDK 所需要的權限86.授權分享
3、等示例代碼分析認證授權9分享微博10一鍵登錄/注銷按鈕147.OpenAPI 示例代碼分析167.1 用戶信息接口167.2 邀請好友接口17問題8.38.4如何使用簽名工具獲取應用的簽名?18如何實現(xiàn) LinkCard 效果?18如何實現(xiàn)附件欄集成分享?18第三方如何申請接口權限?19新浪微博 Android SDK1. 概述及名詞解釋1.1 認證授權新浪微博 Android SDK 為開發(fā)者提供了Oauth2.0 授權認證,并集成 SSO 登錄功能,使第三方應用無需了解復雜的驗證機制即可進行授權登錄操作,并提供微博分享功能,第三方應用可直接通過微博客
4、戶端進行分享。本文檔介紹了新浪微博Android SDK 的三種授權方式,各種分享、獲取用戶信息等常用接口,并給出簡單的示例分析,幫助第三方開發(fā)者快速集成應用。1.2名詞解釋2. 功能列表2.1 認證授權目前微博 SDK 為開發(fā)者提供三種授權方式: SSO 授權:有客戶端時使用 SSO 授權登陸;無客戶端時自動喚起Web 授權(推薦使用),實現(xiàn)見 6.1.2 Web 授權:在沒有客戶端的情況下,可直接使用該授權,實現(xiàn)見 6.1.1 Code 碼授權:無須應用的包名和簽名,通過應用的 APP_KEY 和 APP_SECRET 授權,實現(xiàn)見 6.1.3(不推薦使用,有安全隱患)1名詞注解AppKe
5、y分配給每個第三方應用的 App Key,用于鑒權身份,顯示來源等功能。RedirectURI第三方應用授權回調(diào)頁面。授權回調(diào)頁對移動客戶端應用來說對用戶是不可見的,所以定義為何種形式都將不影響,但是沒有定義將無法使用 SDK 認證登錄。建議使用默認回調(diào)頁 /oauth2/default.html 可以在“新浪微博開放平臺-我的應用-應用信息-高級應用-授權設置-應用回調(diào)頁”中找到。ScopeScope 是OAuth2.0 新版授權頁的一個功能,通過scope 平臺將開放更多的微博核心功能給開發(fā)者, 同時也加強用戶隱私保護,提升用戶體驗,用戶在新OAut
6、h2.0 授權頁中有權利選擇賦予應用的功能。AccessToken表示用戶身份的 Token,用于微博 OpenAPI 的調(diào)用。Oauth2.0 Web 授 權通過 WebView 進行授權,并返回 Token 信息。SSO 授權通過喚起微博客戶端進行授權,并返回 Token 信息。Code 授權通過應用的 APP_ID 和APP_KEY 來獲取 Token,不需要應用的包名和簽名新浪微博 Android SDK2.2 微博分享通過微博 SDK,第三方應用能夠分享文字、圖片、視頻、音樂等內(nèi)容,目前分享有三種方式:1.2.3.有微博客戶端情況通過第三方應用喚起微博客戶端進行分享(該分享方式為第三
7、方客戶端通常的使用方式),實現(xiàn)見 6.2.1通過微博客戶端喚起第三方應用進行分享(該分享方式需要合作接入,參考/aex4JF),實現(xiàn)見 6.2.2無微博客戶端情況,實現(xiàn)見 6.2.3通過OpenAPI 進行分享,直接使用StatusesAPI 中的 upload、update 或 uploadUrlText 函數(shù)進行分享,或直接使用 AsyncWeiboRunner#requestAsync 方法,自己進行拼接參數(shù)進行 HTTP 請求實現(xiàn)分享。2.3 登錄/注銷按鈕微博 SDK 目前提供了兩類登錄按鈕:一種是一鍵登陸按鈕,一種是登陸/注銷按鈕,兩者都是調(diào)用 SSO 登錄接口
8、。2.4 開放接口微博 SDK 目前提供了一個 OpenAPI 接口調(diào)用框架,并封裝了一些簡單的開放接口,以供大家參考:2LogoutAPI注銷接口授權回收接口,取消用戶的授權InviteAPI邀請接口好友邀請接口,向自己的微博互粉好友發(fā)送私信邀請、禮物StatusesAPI微博接口獲取微博信息、刪除微博、發(fā)送微博、獲取微博官方表情等接口FavoritesAPI收藏接口獲取收藏列表、收藏信息、收藏標簽,增刪改收藏列表等接口CommentsAPI評論接口獲取評論列表、評論信息,刪除、回復評論等接口FriendshipsAPI關系接口獲取關注列表、關注用戶 Id、粉絲列表,關注或取消關注等接口Gr
9、oupAPI分組接口獲取好友分組列表、好友分組的微博列表,增刪改好友分組等接口LocationAPI地理信息獲取坐標、返回實際位置信息等接口PlaceAPI位置服務獲取用戶、用戶與好友、某個位置點、周邊的位置動態(tài)等接口ShortUrlAPI微博短鏈接轉換長短鏈接,獲取鏈接點擊數(shù)、來源、微博內(nèi)容、評論數(shù)等接口AccountAPI賬號接口獲取登錄用戶的信息、API 訪問頻率限制、學校列表、退出等接口ActivityInvokeAPI微博相關頁調(diào)起微博客戶端發(fā)送微博、查看周邊人、打開個人資料等頁面接口CommonAPI公共服務獲取城市列表、國家列表、時區(qū)配置表等接口RegisterAPI注冊接口根據(jù)
10、用戶填寫的信息驗證用戶填寫的昵稱是否可用接口SearchAPI搜索接口搜索用戶、微博、學校、公司、應用時的聯(lián)想搜索建議等接口SuggestionsAPI推薦接口獲取熱門用戶列表、感興趣的人、推薦相關微博、精品推薦等接口TagsAPI標簽接口獲取用戶的標簽列表、創(chuàng)建或刪除標簽等接口TrendsAPI話題接口獲取話題列表、熱門話題、關注或取消關注某話題等接口UsersAPI用戶接口獲取用戶信息、用戶最新的一條微博信息等接口新浪微博 Android SDK3. 運行示例代碼為了方便第三方應用更快的集成微博 SDK , 更清晰的了解目前微博 SDK 所提供的功能, 可在 GitHub(https:/g
11、/mobileresearch/weibo_android_sdk)下載整個示例工程以及對應的 APK 安裝包。運行工程可以通過以下兩種方式進行運行: 直接安裝 WeiboSDKDemo.apk 至手機進行運行 在 Eclipse 中導入并運行WeiboSDKDemo 工程我們簡要描述一下運行 Demo 工程的步驟:3.1 導入工程在 Eclipse 中,點擊FileImportExisting Projects into Workspace,輸入正確的路徑,導入工程,如下圖:注意:目前整個工程全采用中文注釋,為了防止亂碼滋生,請修改文本編碼方式為UTF-8。 更改方式:Ec
12、lipseWindowGeneralWorkspaceText file encoding。3.2 修改debug.keystoreMD5 工具是根據(jù) keystore 來生成簽名的,不同的keystore 生成的簽名是不一樣的。此Demo 的簽名是用官網(wǎng)提供的 keystore 生成的,若要順利運行 Demo 程序,需要進行設置或是替換 keystore,兩種方法選擇一種操作即可:3新浪微博 Android SDK方式一:替換 keystore:把 Android 默認的 debug.keystore(在 C:UsersXXXXX.android 目錄下)替換成官方在 GitHub 上提供的
13、debug.keystore。方式二:在 Eclipse 中設置工程 keystore:在 Eclipse 中點擊“WindowsPreferencesAndroidBuild”, 在Custom debug keystore 中選擇 Demo 中的 debug.keystore,如下圖,點擊ApplyOK,Demo 即可正常運行。注意:這一步是必須的,如果沒有替換,demo 程序在運行時將無法正確的授權成功。用戶在替換前,最好先備份一下原始的 debug.keystore。GitHub 中 debug.keysotre 是新浪官方的,除了編譯運行官方 DEMO 外,不要直接使用它,出于安全的
14、考慮,用戶應該為自己的應用提供一份 keysotre。3.3 編譯運行在編譯前,先Clean 一下工程,然后右鍵點擊工程Run AsAndroid Application,即可運行 。默認的編譯 target 是 Android 2.3.3,第三方可以自行修改成合適的版本。4新浪微博 Android SDK4. 微博SDK 及 DEMO 工程目錄結構及分析微博 SDK 目前以是部分開源的形式提供給第三方開發(fā)者的,簡單來說,可以分為以下三部分: 閉源部分:weibosdkcore.jar,該 JAR 包集成了微博授權、SSO 登錄以及分享等核心功能。另外,在 V2.5.0中,我們將網(wǎng)絡模塊框架也
15、加入其中,方便開發(fā)者進行 OpenAPI 的網(wǎng)絡請求。 開源部分:WeiboSDK 工程(Library),該工程引用了 weibosdkcore.jar,這里面主要是對 OpenAPI 進行了簡單的封裝,第三方可以參考使用流程,模仿并添加自己需要的接口,利用 OpenAPI 接口獲取用戶信息, 分享微博等。 Demo 部分:WeiboSDKDemo 工程,該工程引用了 WeiboSDK 工程,提供了目前微博所支持的部分功能的示例代碼。注意:第三方在使用時,如果只需要實現(xiàn)授權和分享功能,可直接使用 weibosdkcore.jar;如果想使用其它功能, 可直接導入 WeiboSDK 工程。如何
16、導入 WeiboSDK 工程請詳見:集成步驟及示例分析4.1閉源部分結構分析5新浪微博 Android SDK4.2開源部分結構分析4.3 Demo 部分結構分析6新浪微博 Android SDK5. 集成前準備5.1 申請應用程序的 APP_KEY用戶首先需要在微博開放平臺上對應用進行注冊,并獲取APP_KEY,添加應用的授權回調(diào)頁(Redirect URI)。詳情請仔細閱讀:移動客戶端接入(/aex4JF )5.2 注冊應用程序的包名和簽名對應用授權前,需要在微博開放平臺上注冊應用程序的包名和簽名后。注意:包名和簽名未注冊,或者簽名注冊不正確,都會導致無法授權。 應用程
17、序包名:指 AndroidManifest.xml 文件中,package 標簽所代表的內(nèi)容。 應用程序簽名:該簽名是通過官方提供的簽名工具生成的 MD5 值(獲取簽名方式見附錄 8.1)下圖即為注冊應用程序的包名和簽名的頁面,可以在新浪微博“開放平臺我的應用應用信息應用基本信息”處找到,點擊編輯按鈕即可注冊。5.3 選擇應用的集成方式在集成微博 SDK 前,有兩種方式來集成微博 SDK:7新浪微博 Android SDK 直接導入 weibosdkcore.jar:適用于只需要授權、分享、網(wǎng)絡請求框架功能的項目 引用WeiboSDK 工程(Library):適用于微博授權、分享,以及需要登陸
18、按鈕、調(diào)用 OpenAPI 的項目下面簡述下兩種導入方式的實現(xiàn):方式一:直接導入 weibosdkcore.jarF將官方的提供 SDK JAR 包(weibosdkcore.jar)放到工程的 libs 目錄下F添加 JAR 包:工程右鍵propertiesjava build pathlibrariesadd external jar方式二:引用 WeiboSDK 工程(Library)F將WeiboSDK 工程整個目錄拷貝到和你自己的工程相同的目錄下F在你自己的工程中,添加WeiboSDK 工程的引用:工程右鍵propertiesAndroidAdd選擇工程,具體如下圖所示:5.4 在應
19、用中添加 SDK 所需要的權限打開AndroidManifest.xml 文件,將 SDK 需要的權限添加到該文件中:8新浪微博 Android SDK6. 授權分享等示例代碼分析6.1 認證授權目前微博 SDK 提供三種授權方式,這三種授權方式都需要先實現(xiàn)以下三步:1)替換成自己應用的 APP_KEY 等參數(shù)若您使用的是 Demo 工程,需要將工程中 Constants 類的 APP_KEY、Redirect_URL、SCOPE 域替換成自己應用對應的參數(shù),如需要實現(xiàn)好友邀請接口,需要在 SCOPE 參數(shù)中添加invitation_write值。2)創(chuàng)建微博授權類對象在WBAuthActiv
20、ity 類中,創(chuàng)建微博授權類對象,將應用的信息保存:3)實現(xiàn)WeiboAuthListener 接口授權成功后,SDK 會將 access_token、expires_in、uid 等通過 Bundle 的形式返回,在 onComplete 函數(shù)中, 可以獲取該信息。具體如何保存和 Token 信息由開發(fā)者自行處理。注意:當您注冊的應用程序簽名不正確時,SDK 會將 Code 返還給用戶,請確保應用的簽名是正確的。9class AuthListener implements WeiboAuthListener Overridepublic void onComplete(Bundle valu
21、es) mAccessToken = Oauth2AccessToken.parseAccessToken(values); / 從 Bundle 中解析 Tokenif (mAccessToken.isSessionValid() AccessTokenKeeper.writeAccessToken(WBAuthActivity.this, mAccessToken); /保存Token. else / 當您注冊的應用程序簽名不正確時,就會收到錯誤Code,請確保簽名正確 String code = values.getString(code, );.mWeiboAuth = new Wei
22、boAuth(this, Constants.APP_KEY,Constants.REDIRECT_URL, Constants.SCOPE);public interface Constants public static final String APP_KEY= 2045436852;/ 應 用 的 APP_KEY public static final String REDIRECT_URL = ;/ 應用的回調(diào)頁public static final String SCOPE =/ 應用申請的高級權限email,direct_messages_re
23、ad,direct_messages_write,+ friendships_groups_read,friendships_groups_write,statuses_to_me_read,+ follow_app_official_microblog, + invitation_write;新浪微博 Android SDK6.1.1 Oauth2.0 Web 授權直接調(diào)用WeiboAuth#anthorize 方法即可,授權成功后即可獲得 Token。6.1.2 SSO 登錄授權1)創(chuàng)建 SsoHandler 對象2)調(diào)用SsoHandler#authorize 方法3)重寫Activit
24、y#onActivityResult 方法,調(diào)用 SsoHandler# authorizeCallBack6.1.3 Code 碼授權1)直接調(diào)用WeiboAuth#anthorize 方法,獲取Code 碼2)通過Code 碼與 app_secret,進行 HTTP 請求,獲取 Token6.2 分享微博6.2.1 從第三方應用喚起微博客戶端進行分享1)分享前準備工作10fetchTokenAsync(mCode, WEIBO_DEMO_APP_SECRET); /通過應用的 APP_SCRET 來實現(xiàn)授權 mWeiboAuth.authorize(new AuthListener(),
25、WeiboAuth.OBTAIN_AUTH_CODE); /不需要應用包名和簽名 Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) super.onActivityResult(requestCode, resultCode, data);if (mSsoHandler != null) mSsoHandler.authorizeCallBack(requestCode, resultCode, data);mSsoHandler.authorize(new AuthLis
26、tener();mSsoHandler = new SsoHandler(WBAuthActivity.this, mWeiboAuth);mWeiboAuth.anthorize(new AuthListener();新浪微博 Android SDK在進行微博分享前,需要在 AndroidManifest.xml 中,在需要接收消息的 Activity(喚起微博主程序的類)里聲明對應的 Action:ACTION_SDK_REQ_ACTIVITY,如下所示:2)分享實現(xiàn)在onCreate 函數(shù)創(chuàng)建微博分享接口實例,并進行注冊,請確保先注冊,后分享創(chuàng)建要分享的內(nèi)容通過 IWeiboShareA
27、PI#sendRequest 喚起微博客戶端發(fā)博器進行分享實現(xiàn) IWeiboHandler#Response 接口,接收分享后微博返回的數(shù)據(jù)11private void sendMultiMessage(boolean hasText, boolean hasImage, boolean hasWebpage,boolean hasMusic, boolean hasVideo, boolean hasVoice) WeiboMultiMessage weiboMessage = new WeiboMultiMessage();/初始化微博的分享消息if (hasText) weiboMess
28、age. textObject = getTextObj();SendMultiMessageToWeiboRequest request = new SendMultiMessageToWeiboRequest(); request.transaction = String.valueOf(System.currentTimeMillis(); request.multiMessage = weiboMessage;mWeiboShareAPI.sendRequest(request); /發(fā)送請求消息到微博,喚起微博分享界面 private TextObject getTextObj()
29、TextObject textObject = new TextObject(); textObject.text = getSharedText(); return textObject;mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY); mWeiboShareAPI.registerApp(); / 將應用注冊到微博客戶端 新浪微博 Android SDK3)分享成功后效果微博分享成功后,可以打開微博客戶端查看效果,如下圖所示:LinkCard 效果實現(xiàn)請參考附錄 8.2。F分享新聞鏈接:分享視頻鏈
30、接:6.2.2 從微博客戶端喚起第三方應用進行分享通過微博客戶端進行分享,即附件欄集成分享(見附錄 8.3),如果沒有進行過商務合作,是無法進行該分享的。1)分享前準備工作通過微博喚起第三方應用進行分享前,同樣需要在 AndroidManifest.xml 中,在需要接收消息的Activity(被微博喚起的程序的類)里聲明對應的 Action: ACTION_SDK_RESP_ACTIVITY,如下所示:12protected void onNewIntent(Intent intent) super.onNewIntent(intent);mWeiboShareAPI.handleWeibo
31、Response(intent, this); /當前應用喚起微博分享后,返回當前應用 Overridepublic void onResponse(BaseResponse baseResp) /接收微客戶端博請求的數(shù)據(jù)。 switch (baseResp.errCode) case WBConstants.ErrorCode.ERR_OK:.break;case WBConstants.ErrorCode.ERR_CANCEL: .break;case WBConstants.ErrorCode.ERR_FAIL:.break;新浪微博 Android SDK2)分享的實現(xiàn)步驟在onCre
32、ate 函數(shù)創(chuàng)建微博分享接口實例實現(xiàn) IWeiboHandler#Request 接口,接收并處理微博客戶端發(fā)送過來的請求創(chuàng)建要分享的內(nèi)容,實現(xiàn)代碼同 6.2.1 中創(chuàng)建分享內(nèi)容一樣。通過 IWeiboShareAPI#sendResponse 發(fā)送應答數(shù)據(jù)給微博客戶端6.2.3 使用 OpenAPI 進行分享1) 在 onCreate 函數(shù)創(chuàng)建微博分享接口實例13statusesAPI = new StatusesAPI(accessToken); /創(chuàng)建微博分享接口實例 private void responseSingleMessage(boolean hasText, boolean
33、hasImage,boolean hasWebpage, boolean hasMusic, boolean hasVideo) WeiboMessage weiboMessage = new WeiboMessage();/ 1. 初始化微博的分享消息 if (hasText) weiboMessage.mediaObject = getTextObj();./ 2. 初始化從微博到第三方的消息請求 ProvideMessageForWeiboResponse response = new ProvideMessageForWeiboResponse(); response.transact
34、ion = mBaseRequest.transaction;response.reqPackageName = mBaseRequest.packageName; response.message = weiboMessage;/ 3. 發(fā)送響應消息到微博 mShareWeiboAPI.sendResponse(response);Overrideprotected void onNewIntent(Intent intent) .mShareWeiboAPI.handleWeiboRequest(intent, this); / 處理微博客戶端發(fā)送過來的請求 Overridepublic
35、void onRequest(BaseRequest baseRequest) / 保存從微博客戶端喚起第三方應用時,客戶端發(fā)送過來的請求數(shù)據(jù)對象 mBaseRequest = baseRequest;.mShareWeiboAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY); /創(chuàng)建分享實例mShareWeiboAPI.handleWeiboRequest(getIntent(), this); / 處理微博客戶端發(fā)送過來的請求 新浪微博 Android SDK2) 實現(xiàn) RequestListener 接口,接收并處理微博
36、分享后結果3) 調(diào)用StatusAPI#update、update 或uploadUrlText 函數(shù)發(fā)送微博注意:如果應用未通過審核,調(diào)用 OpenAPI 中的函數(shù)需要添加測試賬號,在“應用信息-測試帳號”中添加,否則不能調(diào)用函數(shù),會報測試賬號已超過上限的 ErrorCode。6.3 一鍵登錄/注銷按鈕6.3.1 一鍵登錄按鈕目前提供了以下三種樣式,如下圖:其中,第一種為默認樣式,對于第三種樣式,目前不提供按下的效果。對于一鍵登錄,使用步驟如下: 使用步驟如下:1)在需要集成的Activity 的布局文件中,添加按鈕:用戶可根據(jù)需要,將 drawable 替換成其它兩種:2)在對應的Acti
37、vity 中,為該控件設置授權認證信息和 listener。mLoginListener 為WeiboAuthListener,請參考:示例分析:授權認證3)當用戶點擊該按鈕時,會進行 SSO 登陸,登陸完成后返回應用 Activity,需要在 Activity#onActivityResult中調(diào)用LoginButton#authorizeCallBack 函數(shù),整個登陸過程結束。授權成功后,用戶可選擇保存自己的Token。14AuthInfo authInfo = new AuthInfo(this, Constants.APP_KEY, Constants.REDIRECT_URL,Co
38、nstants.SCOPE); / 創(chuàng)建授權認證信息 mLoginBtnDefault = (LoginButton) findViewById(R.id.login_button_default); mLoginBtnDefault.setWeiboAuthInfo(authInfo, mLoginListener); / 為按鈕設置授權認證信息 drawable/com_sina_weibo_sdk_login_button_with_frame_logo drawable/com_sina_weibo_sdk_login_button_with_original_logostatuses
39、API.update(要分享的內(nèi)容, 0.0,0.0, mListener);新浪微博 Android SDK6.3.2 登錄/注銷按鈕該按鈕目前提供了以下樣式,藍色和銀白色,如下圖左所示:其中,第一種為默認樣式,第三方開發(fā)者可自行修改。登錄過程的實現(xiàn)和一鍵登錄一樣。使用步驟如下:1)在需要集成的 Activity 的布局文件中,添加按鈕: 在對應的 Activity 中,為該控件設置授權認證信息和 listener。與一鍵登錄按鈕完全一樣,不再贅述。當用戶點擊該按鈕時,會進行 SSO 登陸,其流程與一鍵登錄按鈕完全一樣,不再贅述。 2) 用戶可根據(jù)需要,將為其添加style 樣式,目前有兩種
40、選:注意:該 style 文件定義在WeiboSDK/res/values/styles.xml 下,第三方可根據(jù)需要修改或重寫。當?shù)卿浲旰?,該按鈕會變成注銷,方便用戶注銷。如上圖右所示。值得注意一點的是,如果該按鈕已從當前 Activity 移除后(如 Activity 銷毀后),下次再進入該 Activity 時,該按鈕不會自動變成注銷(由于 V2.4 SDK 未保存 Token 信息,以后可能會考慮保存所有 Session 相關信息),需要用戶手動調(diào)用 LoginLogoutButton# setLogoutInfo 設置 Token 信息后,才會變成注銷。15style/com_sin
41、a_weibo_sdk_loginview_default_style style/com_sina_weibo_sdk_loginview_silver_styleOverrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) super.onActivityResult(requestCode, resultCode, data);if (mLoginBtnDefault != null) mLoginBtnDefault.onActivityResult(requestCode,
42、resultCode, data);新浪微博 Android SDK7. OpenAPI 示例代碼分析在 V2.5.0,我們重構了網(wǎng)絡模塊,提供了一個簡單易用的OpenAPI 接口調(diào)用框架,并封裝了一些簡單的開放接口, 如發(fā)布微博、獲取用戶信息等,用戶可根據(jù)自己需要進行調(diào)用。另外,我們還提供了相應的JSON 數(shù)據(jù)解析,以供第三方開發(fā)者直接調(diào)用相應的 parse()函數(shù)解析 JSON 數(shù)據(jù)來獲取對象。OpenAPI 接口框架的類圖如下:如上圖所示,AbsOpenAPI 做為一個基類,提供同步請求和異步請求兩種接口。對于我們的各個類型的接口, 只需要從其繼承過來,拼接調(diào)用參數(shù),調(diào)用對應方法即可。為
43、了適應各種不同的需求,我們的每個 OpenAPI 同時提供了同步和異步的網(wǎng)絡請求接口。如:StatusesAPI#upload 即步 API,StatusesAPI#uploadSync 即為同步 API。注:同步接口適用于第三方開發(fā)者有自己的異步請求機制。7.1 用戶信息接口1) 通過 Token 初始化UsersAPI 接口2) 實現(xiàn)異步請求接口回調(diào),并在回調(diào)中直接解析User 信息16private RequestListener mListener = new RequestListener() Overridepublic void onComplete(String respons
44、e) if (!TextUtils.isEmpty(response) / 調(diào)用 User#parse 將JSON串解析成User對象 User user = User.parse(response);.mUsersAPI = new UsersAPI(mAccessToken); / 獲取用戶信息接口 新浪微博 Android SDK3) 調(diào)用接口7.2 邀請好友接口該接口支持登錄用戶向自己的微博互粉好友發(fā)送私信邀請、禮物。該接口的詳細內(nèi)容可參見:/wiki/2/messages/invite邀請好友接口權限開通方法見附錄 8.4,集成該接口步驟如同注
45、銷 Token 一樣。1) 實現(xiàn) RequestListener 接口2) 創(chuàng)建邀請接口參數(shù)在初始化 InviteApi 類的實例時,需要設置以下內(nèi)容:實現(xiàn)代碼如下:3) 創(chuàng)建 InviteAPI 類的實例,并調(diào)用其 InviteAPI#sendInvite 方法:17new InviteAPI(accessToken).sendInvite(uid, jsonObject, mInviteRequestListener);JSONObject jsonObject = new JSONObject();try jsonObject.put(InviteAPI.KEY_TEXT, 這個游戲太好玩了,加入一起玩吧); j
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專利技術創(chuàng)新協(xié)議(2024年版)
- 2024勞務用工合同范本關于勞務用工合同范本
- 自測題第十章神經(jīng)系統(tǒng)的功能1
- 客戶滿意的股東財務分賬協(xié)議范例
- 客戶服務代理合同
- 2023年長春市市直事業(yè)單位招聘筆試真題
- 現(xiàn)榨果汁機購銷合同(3篇)
- 2023年天津工業(yè)大學招聘考試真題
- 2023年陜西省第二人民醫(yī)院招聘筆試真題
- 物理實驗室工作計劃
- 【勞動教育項目案例一等獎】“追根稻底”-小學勞動項目實踐活動方案
- Trip+itinerary-夏威夷旅游英語行程單
- 教科版科學實驗目錄1-6年級(新版)2022
- 電氣火災消防安全培訓課件
- 齒輪泵泵體的加工工藝與專用夾具設計說明書
- 甲狀腺癌診療指南
- 管理培訓互動游戲游戲-先救誰
- fg-400變頻器說明書
- 行業(yè)產(chǎn)教融合共同體申報書
- 2023年國債資金管理辦法
- 傳染病首診醫(yī)生負責制度傳染病首診負責制
評論
0/150
提交評論