README.md in douban_api-0.1.2 vs README.md in douban_api-0.1.3

- old
+ new

@@ -1,16 +1,141 @@ # douban_api Simple Ruby wrapper for [Douban API V2](http://developers.douban.com/wiki/?title=api_v2) 这个项目仍在开发中,缺少文档和测试,欢迎贡献。 ## Installation gem install douban_api - -## Examples -### 获取某部电影 - Douban.movie('1292000') - <Hashie::Mash alt="http://movie.douban.com/movie/1292000" alt_title="搏击俱乐部 / 搏击会" attrs=#<Hashie::Mash cast=["爱德华·诺顿 Edward Norton", "布拉德·皮特 Brad Pitt", "海伦娜·邦汉·卡特 Helena Bonham Carter", "杰瑞德·莱托 Jared Leto"] country=["美国", "德国"] director=["大卫·芬奇 David Fincher"] language=["英语"] movie_duration=["139 分钟"] movie_type=["剧情", "悬疑", "惊悚"] pubdate=["1999-10-15"] title=["Fight Club"] writer=["恰克·帕拉尼克 Chuck Palahniuk", "Jim Uhls"] year=["1999"]> author=[#<Hashie::Mash name="大卫·芬奇 David Fincher">] collection_link="http://api.douban.com/collection/218762015" id="http://api.douban.com/movie/1292000" image="http://img3.douban.com/spic/s1447851.jpg" mobile_link="http://m.douban.com/movie/subject/1292000/" rating=#<Hashie::Mash average="9.1" max=10 min=0 numRaters=200291> summary="杰克(爱德华•诺顿 饰)是一个大汽车公司的职员,患有严重的失眠症,对周围的一切充满危机和憎恨。\n一个偶然的机会,杰克遇上了卖肥皂的商人泰勒(布拉德•皮特),一个浑身充满叛逆、残酷和暴烈的痞子英雄,并因为自己公寓失火而住进了泰勒破旧不堪的家中。两人因缘际会地成为了好朋友,并创立了“搏击俱乐部”:一个让人们不戴护具而徒手搏击,宗旨在于发泄情绪的地下组织。\n俱乐部吸引了越来越多的人,逐渐发展成为一个全国性的地下组织,而泰勒也以自己个人的魅力,吸引着那些盲目的信徒。俱乐部的成员们到处滋事打架、大肆破坏,泰勒本人的行为也越来越疯狂。\n杰克对于“搏击俱乐部”的现况及泰勒的行为越来越无法忍受,和泰勒发生争执,泰勒离开了他。然而,杰克发现,他走到何处都无法摆脱泰勒的影子,他开始思考:我到底是谁?" tags=[#<Hashie::Mash count=29736 name="美国">, #<Hashie::Mash count=27727 name="心理">, #<Hashie::Mash count=22910 name="暴力">, #<Hashie::Mash count=20650 name="经典">, #<Hashie::Mash count=18032 name="悬疑">, #<Hashie::Mash count=12505 name="剧情">, #<Hashie::Mash count=9023 name="黑色">, #<Hashie::Mash count=5578 name="犯罪">] title="Fight Club"> - - +## Sample Sinatra App + require 'rubygems' + require 'sinatra' + require 'haml' + require 'douban_api' + + enable :sessions + + set :app_file, __FILE__ + set :root, File.dirname(__FILE__) + set :views, 'views' + set :public_folder, 'public' + + # 设置回调的URL和所需的scope(http://developers.douban.com/wiki/?title=oauth2) + set :callback_url, "http://doubanapi.notimportant.org/connect" + set :scope, "douban_basic_common,shuo_basic_r,shuo_basic_w" + + + # 设置 apikey和secret,可在 http://developers.douban.com/apikey/ 处查看 + Douban.configure do |config| + config.client_id = ENV['DOUBAN_API_KEY'] + config.client_secret = ENV['DOUBAN_API_SECRET'] + end + + + get '/' do + haml :index, :layout => :'layouts/application' + end + + get '/login' do + redirect Douban.authorize_url(:redirect_uri => settings.callback_url, :scope => settings.scope) + end + + get '/connect' do + response = Douban.get_access_token(params[:code], :redirect_uri => settings.callback_url) + session[:access_token] = response.access_token + session[:user_id] = response.douban_user_id + redirect "/timeline" + end + + get '/timeline' do + @client = Douban.client(:access_token => session[:access_token], :user_id => session[:user_id]) + @statuses = @client.timeline + haml :timeline, :layout => :'layouts/application' + end + +## API Useage Examples + + client = Douban.client(:access_token=>access_token, :user_id => user_id) + + # 获取已认证用户对音乐的所有标签 + client.user_music_tags + + => [{"count"=>166, "alt"=>"http://music.douban.com/tag/内地", "title"=>"内地"}, + {"count"=>155, "alt"=>"http://music.douban.com/tag/摇滚", "title"=>"摇滚"}, + {"count"=>139, "alt"=>"http://music.douban.com/tag/美国", "title"=>"美国"}, + {"count"=>127, "alt"=>"http://music.douban.com/tag/台湾", "title"=>"台湾"}, + {"count"=>109, "alt"=>"http://music.douban.com/tag/Pop", "title"=>"Pop"}, + {"count"=>105, "alt"=>"http://music.douban.com/tag/2011", "title"=>"2011"}, + {"count"=>100, "alt"=>"http://music.douban.com/tag/华语", "title"=>"华语"}, + {"count"=>97, "alt"=>"http://music.douban.com/tag/女声", "title"=>"女声"}, + {"count"=>87, "alt"=>"http://music.douban.com/tag/Rock", "title"=>"Rock"}, + {"count"=>83, "alt"=>"http://music.douban.com/tag/民谣", "title"=>"民谣"}, + {"count"=>80, "alt"=>"http://music.douban.com/tag/2010", "title"=>"2010"}, + {"count"=>77, "alt"=>"http://music.douban.com/tag/欧美", "title"=>"欧美"}, + {"count"=>73, "alt"=>"http://music.douban.com/tag/英国", "title"=>"英国"}, + {"count"=>73, "alt"=>"http://music.douban.com/tag/中国", "title"=>"中国"}, + {"count"=>65, "alt"=>"http://music.douban.com/tag/2012", "title"=>"2012"}, + {"count"=>60, "alt"=>"http://music.douban.com/tag/男声", "title"=>"男声"}, + {"count"=>55, "alt"=>"http://music.douban.com/tag/流行", "title"=>"流行"}, + {"count"=>52, "alt"=>"http://music.douban.com/tag/indie", "title"=>"indie"}, + {"count"=>52, "alt"=>"http://music.douban.com/tag/rock", "title"=>"rock"}, + {"count"=>48, "alt"=>"http://music.douban.com/tag/Indie", "title"=>"Indie"}] + + # 已登录用户的豆邮收件箱 + client.inbox + + => [{"status"=>"R", + "sender"=> + {"avatar"=> + "http://img3.douban.com/view/site/small/public/fc82eb2dcec6ed0.jpg", + "alt"=>"http://site.douban.com/fuzz/", + "id"=>"104427", + "name"=>"THE FUZZ 法兹", + "uid"=>"fuzz"}, + "title"=>"近期动向", + "published"=>"2012-12-07 11:32:04", + "content"=> + "打扰各位,近期2场演出后我们将休整一段时间,开始专辑的准备和录制工作!\r\n\r\n2场演出分别是\r\n12.21 月亮钥匙 W 刺猬\r\n12.28 光圈 地下丝绒45周年致敬演出 "receiver"=> + {"avatar"=>"http://img3.douban.com/icon/u2217855-34.jpg", + "alt"=>"http://www.douban.com/people/xiaosong/", + "id"=>"2217855", + "name"=>"小松其实还没有", + "uid"=>"xiaosong"}, + "id"=>"283060020"}, + {"status"=>"R",……………………………… + + # 发送一条广播 + client.shuo("呵呵后") + + => {"category"=>nil, + "reshared_count"=>0, + "attachments"=>[], + "entities"=>{"user_mentions"=>[], "topics"=>[], "urls"=>[]}, + "muted"=>false, + "text"=>"呵呵后", + "created_at"=>"2012-12-07 14:58:49", + "title"=>"说:", + "can_reply"=>1, + "liked"=>false, + "source"=>{"href"=>"", "title"=>"douReminder"}, + "like_count"=>0, + "comments_count"=>0, + "user"=> + {"description"=>"", + "small_avatar"=>"http://img3.douban.com/icon/u2217855-34.jpg", + "uid"=>"xiaosong", + "type"=>"user", + "id"=>"2217855", + "screen_name"=>"小松其实还没有"}, + "is_follow"=>false, + "has_photo"=>true, + "type"=>"text", + "id"=>1059068526} + +更多请查看[文档](http://rdoc.info/github/seansay/douban_api/master/frames) 或阅读 [源码](https://github.com/seansay/douban_api/tree/master/lib/douban_api/client) + +## TODOs + +* Test, test, test…… +* 文档 + ## Copyright This project a fork of [instagram-ruby-gem](https://github.com/Instagram/instagram-ruby-gem), see [LICENSE](https://github.com/seansay/douban_api/blob/master/LICENSE.md) for details. \ No newline at end of file