Douban官方说明页:http://www.douban.com/service/apidoc/auth 基本没用... 像我等菜鸟,只是希望达到授权目的就好,我看了半天看的晕乎乎的...怎么感觉都不如weibo 1.0的时候写的清楚...1.根据他们的java项目搭建环境就好了. 会出现outh1.3.jar 的一个问题 http://blog.csdn.net/mmmlllii/article/details/7746443 这里有提到.
2.
DoubanService.getAuthorizationUrl("");
需要填写回调参数.虽然api可以填null,但是还是推荐写一个可能区分的字符串.因为在载入豆瓣授权页,和在你点击“同意”后的连接返回的都是该类型的url:http://www.douban.com/service/auth/authorize?oauth_token=XXX 你无法区分这两次动作.例如:DoubanService.getAuthorizationUrl("will");
当你调用webview 的onPageStarted(WebView view, String url, Bitmap favicon) 方法时 会看到
载入豆瓣授权也的Url是:http://www.douban.com/service/auth/authorize?oauth_token=678c383d78fe017036a4a8b86afa0450&oauth_callback=will
点击同意后的Url是:http://www.douban.com/service/auth/will?oauth_token=678c383d78fe017036a4a8b86afa0450我就是通过 “auth/will” 比对字符串来区分两次操作的. 不知道有没有更好的办法.
3.当有“auth/will”的链接需要处理的时候 进行一下操作就OK了~
ArrayList<String> strList = mDoubanService.getAccessToken(); String acessToken = strList.get(0); String acessTokenSecret = strList.get(1); //SharedPreferences工具类 SharedPreferencesUtil spUtil = new SharedPreferencesUtil(Activity_Outh.this) ; spUtil.setAcessToken(acessToken); spUtil.setAcessTokenSecret(acessTokenSecret); mDoubanService.setAccessToken(acessToken, acessTokenSecret); //测试一下 mDoubanService.createSaying(new PlainTextConstruct("test...test"));