最近学习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。