最近无聊找一些开放平台提供的资源,做一些第三方应用练练手。
对于微博类开放平台,因为很早前还在做Android的时候做过一次,没什么新鲜感。
恰巧本人以前玩豆瓣,对于豆瓣社区的一些资源还是比较感兴趣,比如小组,评论,书电影音乐资源。
虽然最后浏览完API后,发现已开发的几个接口,相对来说做一个扩展应用的真心比较乏力。
比如关于同城的api提供 比较给力,但是你发现豆瓣自己有客户端了。
豆瓣广播,类微博一样,也有了官方的客户端了。
最后觉得用户活跃度最高的小组,却没有提供,同样的一些书影评资讯也只是提供了一个搜索的接口。
我想要一些,比如热门影讯,评论,最后发现只能调用RSS来实现,并且坑爹的单条资讯内容,内容只有描述,没有详情。
不过既然已经做了,就当做练手,上一个项目一直做的网络层,逻辑层,数据处理,这会刚好熟练下UI控件。
下面我们先看下豆瓣关于OAuth2.0中:
豆瓣支持三种OAuth2.0的授权流程:
直接在浏览器中运行的Javascript应用的授权流程(user-agent flow)
有服务器的WEB应用的授权流程(server-side flow)
桌面客户端应用、移动客户端应用的授权流程(native-application flow)
http://developers.douban.com/wiki/?title=oauth2豆瓣文档。
因为ios作为移动客户端应用,我们主要看第三块。熟悉了大致情况后,准备做授权模块。
我们先看下我客户端实现的效果图。
1.首先,我们看文档的api文档描述
flow 与 native-application flow
这两种授权流程基本相同,需要通过两步来获取access_token。
获取authorization_code
通过在浏览器中访问下面的地址,来引导用户授权,并获得authorization_code
https://www.douban.com/service/auth2/auth
参数:
参数名称 参数说明
client_id 必选参数,应用的唯一标识,对应于APIKey
redirect_uri 必选参数,用户授