douban-client 是对豆瓣 API v2 接口进行了一个简单封装,主要包括了 OAuth 2.0 认证、图片上传以及接口方面的调用。
目前已完成的接口有:
* 用户 User * 广播 Miniblog * 豆邮 Doumail * 日记 Note * 相册 Album * 图片 Photo * 读书 Book * 电影 Movie * 音乐 Music * 线上活动 Online * 同城活动 Event * 论坛 Discussion * 回复 Comment
使用说明:
1. 豆瓣Api V2认证统一使用OAuth2 2. 数据返回格式统一使用json,GData不再使用 3. 需要授权的Api,需要加access_token的Header,并且使用https协议,限制具体见OAuth2文档 4. 不需要授权公开api可以使用http,参数里面如果不包含apikey的话,限制单ip每分钟10次 5. Api里面的通配符,:id代表纯数字, :name代表由数字+字母+[-_.]这些特殊字符 6. 使用HTTP Status Code表示状态 7. 列表参数使用start和count 8. POST/PUT 时中文使用UTF-8编码 9. 时间格式:yyyy-MM-dd HH🇲🇲ss, 如"2007-06-28 11:16:11"
OAuth 2.0 示例代码:
from douban_client import DoubanClient API_KEY = 'your api key' API_SECRET = 'your api secret' # 在 OAuth 2.0 中, # 获取权限需要指定相应的 scope,请注意!! # scope 权限可以在申请应用的 "API 权限" 查看。 SCOPE = 'douban_basic_common,shuo_basic_r,shuo_basic_w' client = DoubanClient(API_KEY, API_SECRET, your_redirect_uri, SCOPE) # 以下方式 2 选 1: # 1. 引导用户授权 print 'Go to the following link in your browser:' print client.authorize_url code = raw_input('Enter the verification code:') client.auth_with_code(code) # 2. 如果有之前有 token,则可以 client.auth_with_token(token) # Token Code token_code = client.token_code # Refresh Token # 请注意:`refresh_token_code` 值仅可在授权完成时获取(即在 `auth_with_code`, `auth_with_password` 之后) refresh_token_code = client.refresh_token_code client.refresh_token(refresh_token_code) # refresh token