最近學習Android的開發,學完書本之后,決定研究如何開發一個微博客戶端來實踐。第一步當然是用戶授權。但是新浪開放平台的說明實在寫得不太清楚,用GOOGLE+研讀的方法,總算是實驗成功了。
這里有別人已經提供好的一份代碼和說明
http://www.cnblogs.com/ok-lanyan/archive/2012/07/15/2592070.html
下面的說明沒有代碼,如果不太明白,直接運行這個項目就行。
這是我自己總結的三步,雖然不是太准確吧,但大概就是這樣了。
1.首先去新浪開放平台申請一個應用。
http://open.weibo.com/選擇創建應用→然后就是填表了
友情提示:就算是做實驗學習,應用介紹也必須要填夠字數,不要采用空格代替,不會就會不斷報“更新失敗”的錯誤。
申請成功之后就會獲得一個appkey和appsecret了。
2.訪問指定的授權頁面
訪問的方式可以采用WebView也可以采用調用外部瀏覽器。具體可以去網上搜索了。
指定的授權頁面格式說明http://open.weibo.com/wiki/Oauth2/authorize
一般采用的內容是
https://api.weibo.com/oauth2/authorize?client_id=APPKEY&response_type=code&redirect_uri=CALLBACK_URL&display=mobile
這個APPKEY就是上面的appkey。
CALLBACK_URL就是授權回調地址,是由你來指定的任何網頁都可以,系統也提供了一個默認的地址https://api.weibo.com/oauth2/default.html,但有一條必須遵守,那就是必須在應用管理里面填寫授權回調地址和取消授權回調地址與上面的CALLBACK_URL必須一致。
然后采用WebView訪問上面的網頁就會出現登陸界面了,輸入賬號密碼即可。
3.取得Access_token
再授權成功的前提下,就會回調上面填寫的授權回調頁面,此時就可以發出HTTPS的POST請求,獲取Access_token。
獲取Access_token的說明在http://open.weibo.com/wiki/Oauth2/access_token
一般請求的URL為
https://api.weibo.com/oauth2/access_token?client_id=APPKEY&client_secret=APPSECRET&grant_type=authorization_code&redirect_uri=CALLBACK_URL&code=CODE
APPKEY就是appkey
APPSECRET就是appsecret
CALLBACK_URL就是回調url
CODE是新浪這邊生成的回調頁面中給定的一個值,使用Uri解析出來就可以了。
然后采用HttpClient或者HttpsURLConnection提交POST請求獲取新浪服務器的響應,從數據中解析出Access_token。