手把手教你如何通過OAuth2.0新浪開放平台認證新浪使用者-java

來源:互聯網
上載者:User

新浪微博·開放平台: http://open.weibo.com/

自己想寫個應用需要新浪微博的使用者認證,弄了1天各種錯誤,參考了大量網上的解釋終於成功,

經驗寫下來和大家分享。

一、建立自己的第一個應用:

(圖1)

(圖2)

(圖3)

(圖4)填寫相關資訊:java案頭項目選擇:用戶端-》案頭。注意這裡的應用地址是你未來應用投放的下載地址,如果沒有可以寫http://www.baidu.com等可以訪問的地址均可,等有了正式的地址後可以修改。點擊“建立”

(圖5) (圖6)

到此你就已經建立完你的應用並且通過第7步和第9步擷取到了key和URI.

 

二、OAuth2.0認證  
1、OAuth2.0概述

大部分API的訪問如發表微博、擷取私信,關注都需要使用者身份,目前新浪微博開放平台使用者身份鑒權有OAuth2.0和Basic Auth(僅用於應用所屬開發人員調試介面),新版介面也僅支援這兩種方式。OAuth2.0較1.0相比整個授權驗證流程更簡單更安全,也是未來最主要的使用者身分識別驗證和授權方式。
關於OAuth2.0協議授權流程查看OAuth2.0授權流程 ,其中Client指第三方應用,Resource Owner指使用者,Authorization Server是我們的授權伺服器,Resource Server是API伺服器。


開發人員可以先瀏覽OAuth2.0的介面文檔,熟悉OAuth2的介面及參數的含義,然後我們根據應用情境各自說明如何使用OAuth2.0。

介面 說明
OAuth2/authorize 請求使用者授權Token
OAuth2/access_token 擷取授權過的Access Token
OAuth2/get_token_info 授權資訊查詢介面
OAuth2/revokeoauth2 授權回收介面
OAuth2/get_oauth2_token OAuth1.0的Access Token更換至OAuth2.0的Access Token


1. OAuth2驗證步驟

第一步:修改Config.properties的配置資訊.開啟這個檔案,將你的資訊填入,具體如下:
client_ID = (你申請應用的appkey 見圖5)
client_SERCRET =(你申請應用的app_secret)
redirect_URI =https://api.weibo.com/oauth2/authorize(見圖6 和“授權回調頁:”地址相同)
baseURL = https://api.weibo.com/2/
accessTokenURL = https://api.weibo.com/2/oauth2/access_token
authorizeURL = https://api.weibo.com/2/oauth2/authorize

第二步開啟example目錄下的檔案OAuth4Code.java,code如下圖

 

第三步:運行此檔案,瀏覽器會自動開啟一個網頁,如下圖.在裡面輸入你的帳號、密碼,點擊“登陸並授權” 如果此處看不到微博認證介面或者介面出錯錯誤碼是“redirect_uri_mismatch 21322”錯誤原因是Config.properties裡填寫的redirect_URI地址和圖6中的不一致導致,修改成一致即可。

    

第四步:點擊授權後,瀏覽器會自動跳轉到回調頁面(由於回調頁面會認證不上,所以瀏覽器會開啟一個第三方授權錯誤的介面,入下圖),把地址欄中的“https://api.weibo.com/oauth2/authorize?code=#####”中的##### copy出來。

 

 

 

第五步:填寫XXXXX 到下圖的Eclipse的控制台中[Enter]:之後,然後斷行符號. 最後擷取一串資訊AccessToken [accessToken=2.00fEE9xC5IlVKEa41d4c9090XHhI2E, expireIn=157679999, refreshToken=,uid=2710758337]

 

第六步:將擷取到的資訊填入java的Run Configurations->Arguments裡面,注意兩個參數:accessToken=2.00fEE9xC5IlVKEa41d4c9090XHhI2E, uid=2710758337 中間有空格


第七步:到此你就算是認證成功了,可以嘗試使用java工程裡的其他examples測試功能,要注意的是由於項目未經審核,所以授權的有效期間是1天,就是說每天都要重複OAuth一次。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.