- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想玩转 Yahoo Fantasy Sports API。我不知道从哪里开始。我需要做什么才能开始在 IRB 中使用 API 并开始调用和检索不同的玩家或统计数据?这是我第一次尝试处理没有现成的 Ruby gem 的 API。
雅虎梦幻体育 API:http://developer.yahoo.com/fantasysports/guide/
我已经按照开发指南中详述的步骤设置了我的开发人员消费者 key 和 secret key 。不知道如何处理这些信息。
我正在使用 Rails 3.2.2 和 Ruby 1.9.2
最佳答案
在过去的几周里,我花了很多时间试图让一个网站与 Yahoo Fantasysports API 联系起来,直到最近才克服了能够通过 OAuth 进行身份验证、发出有效请求和无限期刷新访问 token 的障碍。以下是您需要采取的步骤才能在 IRB 中乱搞:
gem 的东西
t.string :session_handle
.当我这样做时,我不确定 MYSQL 的问题是什么,但我还必须为 consumer_tokens
指定 190 的限制oauth 创建的索引。所以我的完整添加索引是 add_index :consumer_tokens, :token, :unique => true, :length => 190
.我还建议添加 :guid
字符串列到 users 表,因为这是雅虎用作唯一标识符的内容。 session_handle
ConsumerTokens 表中的列,一个 yahoo_guid
列,并设置变量 CB_URL
在您的 development.rb 中成为您在雅虎注册您的应用程序的网址。还请记住,如果您使用我的插件版本,则需要根据您希望如何包含它来指定路径/github url。 :key
和 :secret
在 config/intializers/oauth_consumers.rb
.我称我的消费者为 YahooToken,所以我的看起来像这样:OAUTH_CREDENTIALS={
:yahoo => {
:key => "the key given to me by yahoo"
:secret => "the secret given to me by yahoo"
}
}
load 'oauth/models/consumers/service_loader.rb'
app/models/yahoo_token.rb
我的前几行是:class YahooToken < ConsumerToken
YAHOO_SETTINGS={
:site=>"http://fantasysports.yahooapis.com/fantasy/v2",
:authorize_url =>"https://api.login.yahoo.com/oauth/v2/request_auth",
:request_token_url => "https://api.login.yahoo.com/oauth/v2/get_request_token",
:access_token_url => "https://api.login.yahoo.com/oauth/v2/get_token",
:oauth_version=>"1.0"
}
has_one :yahoo, :class_name=>"YahooToken", :dependent=>:destroy
http://localhost:3000/oauth_consumers/yahoo
获取您的 token 。雅虎拒绝将您重定向回本地主机,因此您最终将被重定向到 CB_URL/parameters-that-yahoo-returns
.复制参数字符串并转到http://localhost:3000/oauth_consumers/yahoo/callback/paste-the-string-here
.这应该成功完成访问 token 的初始检索。不用担心,在本地开发时,您只需为每个本地用户执行一次此操作。它会在生产环境中自动重定向。 t = User.first.yahoo
resp = t.client.get("http://fantasysports.yahooapis.com/fantasy/v2/users;use_login=1")
puts resp.body
&format=json
最后用 json 而不是 xml def refresh!
old_one = self
request_token = OAuth::RequestToken.new(YahooToken.consumer, self.token, self.secret)
options={}
options[:oauth_session_handle]=self.session_handle
access_token = request_token.get_access_token options
new_one = YahooToken.find_or_create_from_access_token self.user, access_token
if new_one
old_one.delete
return new_one
end
return nil
end
t = t.refresh!
.我还建议在您的 token 上使用年龄方法,这将有助于创建一个 rake 任务,该任务将每小时自动为您刷新 token 。 关于ruby-on-rails - 在 IRB 中使用 Yahoo Fantasy Sports API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795882/
我正在尝试将文件加载到 IRB 中。我在桌面上保存了名为“Ruby.rb”的文件 如何将文件加载到 IRB? 我尝试过使用“加载“Ruby.rb”、“加载“Ruby””和“需要“Ruby.rb”。这些
当我们使用 Binding.irb 时,我该如何...使用 IRB 调试时跳到下一行? 或者每次我想暂停执行以进行调试时,我是否只放置大量的 binding.irb 行? 最佳答案 你不能。 IRB
当我们使用 Binding.irb 时,我该如何...使用 IRB 调试时跳到下一行? 或者每次我想暂停执行以进行调试时,我是否只放置大量的 binding.irb 行? 最佳答案 你不能。 IRB
我刚刚安装了 Ruboto-irb在我的 Android 设备上运行 Ruby IRB。 文档位于 https://github.com/ruboto/ruboto/wiki/Using-Ruboto
我今天刚刚安装了 rvm,它看起来非常方便/强大。 我想我已经掌握了窍门,但是...... 当使用安装了 rvm 的 ruby 并运行 irb 时,当我需要安装的 gem 时,比如“rvm”,我得
找了一圈,反正找不到用fzf在 irb 或 pry 控制台中搜索历史记录。有什么办法可以做到吗? 最佳答案 环顾四周后,我发现命令完成与 GNU Readline 相关联。 ,然后我发现了Readli
在我运行 irb 的每个目录中,我都有一个需要的 config/boot.rb 文件。如果这可以在我输入 irb 时自动加载,那就太好了,但我不确定如何从 .irbc 文件中引用我打开 irb 的目录
我知道这个命令是:需要文件名 但我猜这个命令是针对 ruby 1.9.4 而我使用的是 ruby 2.0.0 确切的消息是。 $require start.rb LoadError: can
当我运行 Rails 应用程序时,它会正确找到我安装的所有 gem。 这是我第一次尝试从 irb 内部调用一些 gem,但找不到它们。 blocke:~$ irb irb(main):001:0> r
我发现 IRB 作为试错式调试工具非常有用,我真的不知道问题出在哪里,但可以利用 IRB 的 REPL 特性快速迭代潜在列表重现问题并将其提炼出来的方法。 有时我决定重新打开属于已加载 gem 的类,
我在 ruby-doc 中找不到任何相关内容。 我可以在 IRB 中拥有这样的东西: 2.2.0 :012"> 或 2.2.0 :012?> 我不知道那些符号是什么意思。你知道 吗? 是警告我错过
我想知道如何着手创建在浏览器中运行的在线 IRB。我有一个想法,在我的博客中包含一个 irb 控制台,并为用户提供将我教程中的代码块直接发送到 irb 控制台的选项,以便他们可以使用它。 _为什么以前
我有这个脚本,它在执行时让用户进入 IRB session 。 很好,但是当我使用 *nix 管道获取输入时(例如使用 cat),IRB session 立即结束。 我可以将脚本(我们称之为 mysc
我正在运行带有 rbenv 的 Ruby 1.9.2。我最近将我的用户目录移动到另一个驱动器。 Ruby 和 irb 使用 which 出现。 $ which ruby /Volumes/Pig/Us
我正在摆弄各种小型硬件。试图学习它。我想运行 mruby。我已经为我的硬件编译了。并拥有框架以及包括 MIRB 和 MRUBY bins。 但我可能会喜欢我自己的 IRB 代码。我的职业是程序员,但自
当我在 irb 中输入以下行时,irb 终止。 $ irb irb(main):001:0> def !; end => :! irb(main):002:0> ! /usr/local/lib/ru
当我在 irb 中输入包含土耳其语字符的我的名字作为字符串输入时,irb 会打印到终端,就好像存在编码不匹配一样。但是,如果通过 puts 或 print 将字符串打印到控制台,则输出正是我所期望的。
Programming Ruby 1.9 & 2.0 一书中给出了以下示例: require 'irb' trap "INT" do IRB.start end count = 0 loop do
我正在与 IRB(实际上是 Wirble)一起练习。我想知道是否可以将 IRB 内部的任何黑客攻击转储到文件中以供以后比较、编辑和重用? 您可以随时创建类、方法和数据,并且交互式 session 会不
我刚刚更新了我的 ruby 版本,现在当我在命令行中运行 irb 时,我得到了这个奇怪的东西: 1.9.2p290 :001 > 每一行。之前是一个简单的> 我怎样才能把它取回来? 最佳答案 您可
我是一名优秀的程序员,十分优秀!