如何在 Ruby on Rails 中调用 API(例如 Flickr API)?新手问题

2024-03-30

我正在用 Rails 构建我的第一个应用程序,我想调用 Flickr 的 API

我知道我可以使用 flickr-fu、rflickr 或其他 gem,但我想自己从头开始学习

比如说,我想打电话flickr.photos.comments.getList返回照片的评论。参数是 api_key 和 photo_id。我两者都有。

我将得到 xml 格式的响应

<comments photo_id="109722179">
<comment id="6065-109722179-72057594077818641" author="35468159852@N01" authorname="Rev Dan Catt" datecreate="1141841470" permalink="http://www.flickr.com/photos/straup/109722179/#comment72057594077818641">
Umm, I'm not sure, can I get back to you on that one?</comment>
</comments>`

我想将调用该方法收到的数据存储到变量中comments我可以使用以下方式访问数据:

comments.all.first.author_name = "Rev Dan Catt"

or

comments.all.first.content = "Umm, I'm not sure, can I get back to..."

我怎样才能做到这一点?请耐心等待(抱歉提出菜鸟问题)


include 'rubygems'
include 'httparty'

class Flickr
  include HTTParty

  base_uri 'api.flickr.com'

  def self.getPhotos(uid)
    return get('/services/rest/', :query => {
      :method => 'flickr.people.getPublicPhotos',
      :api_key => 'api key goes here',
      :user_id => uid})
  end
end

然后打电话

Flickr.getPhotos('12345678')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ruby on Rails 中调用 API(例如 Flickr API)?新手问题 的相关文章

随机推荐

  • Gradle 多个版本的 GRADLE

    为了清楚起见 这不是关于依赖项的多个版本 而是关于 Gradle 自己的 jar 的多个版本 我想this https stackoverflow com questions 28339270 gradle retains multiple
  • 即使从 BIOS 设置启用虚拟化后,也无法在 Windows 10 Home 上运行 Docker Toolbox

    在运行 docker faststart 终端时出现以下错误 运行预创建检查 预创建检查出错 这 计算机未启用 VT X AMD v 在 BIOS 中启用它是 强制 看起来步骤 检查是否 出了问题 机器默认存在 按任意键继续 我已经尝试了从
  • 有没有办法让flymake只在保存时才编译

    当我输入 Flymake 时 光标会稍微悬起 这有点烦人 我想知道是否有一种方法可以告诉 Flymake 在每次更改某些内容时不要解析和编译 只需在保存时执行即可 还有其他建议吗 Thanks 您可以覆盖flymake after chan
  • 退出vim后保持编辑文件的视图

    当我退出 vim 时 显示内容将恢复为我进入之前所看到的内容 在非 vim vi 上 除了底线之外 您可以保持 vi 屏幕完整 vim 中是否有一个选项允许后一种行为 Vim 使用一个称为备用屏幕在那里编写它的 UI 并在退出时恢复原始 s
  • 在 Swift 中获取 PHAsset 的位置

    由于某种原因location财产在PHAsset仅在 Objective c 中公开 在 Swift 中不公开 文档 PHAsset location https developer apple com library prerelease
  • React Props 未定义

    我无法理解为什么我的 props updateBuilding 不起作用 当 prop 位于 render 方法中时 以下内容有效 class Buildings extends Component constructor props su
  • Apache 不使用 mod_rewrite.c

    所以我只是用 debian apache 等设置了一个 linode 服务器 现在我试图让我正在开发的应用程序运行 但它需要mod rewrite c 因此 很自然地 我转到应用程序的目录 如果重要的话 可能是 PHP 目录 并创建了一个
  • Ember CLI 在生产中失败

    我正在通过 jenkins 部署 Ember CLI 应用程序并使用 nginx 发布它 这是詹金斯构建脚本 npm install bower install node modules ember cli bin ember build
  • preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

    echo preg match b b iu 由于某种原因 此代码在我测试过的几台服务器上返回 1 但在一台特定服务器上返回 0 PCRE 编译时支持 UTF 8 和 Unicode 属性 可能是什么问题 PHP 使用的 PCRE 版本之间
  • 动画 CALayer 隐藏

    我试图隐藏一个CALayer几微秒后我正在使用CABasicAnimation为隐藏设置动画 目前我正在尝试使用 aLayer setHidden YES CABasicAnimation hideAnimation CABasicAnim
  • Jython :: PythonInterpreter 可以使用哪些模块以及如何添加更多模块

    我正在使用Jython 2 5 3 PythonInterpreter类来评估一些简单的脚本 但是当我需要导入任何非核心模块时 我会得到一个异常 我必须在 CLASSPATH 中添加一些 jython 库 jar 吗 缩小演示问题的代码范围
  • R 2.14 字节编译 - 无法使用 install.packages 进行?

    看来 R 2 14 可以使用开关来字节编译包R CMD INSTALL但我在 install packages 文档中找不到这样的选项 我错过了什么吗 正如它所说 install packages 您可以使用INSTALL opts 将附加
  • 无法捕获 lambda 中的静态变量[重复]

    这个问题在这里已经有答案了 这看起来很奇怪 我可以捕获静态变量 但前提是该变量未在捕获列表中指定 即它隐式捕获它 int main int captureMe 0 static int captureMe static 0 auto lam
  • Oracle APEX:弹出菜单

    我见过在这个应用程序 http apex oracle com pls apex f p 20411 1 888811517916461一个弹出窗口 里面有一个表单 任何人都可以帮助我构建一个这样的弹出窗口 或者是否有任何教程可以让我看到它
  • 在 Less 中组合多个“转换”条目

    我有两个 mixin 它们都转换为 webkit transform rotate deg webkit transform rotate deg scale factor webkit transform scale factor 当我一
  • 导入javafx.scene.control.Alert无法解析

    我在 Eclipse 中遇到以下两个导入错误 import javafx scene control Alert import javafx scene control Alert AlertType 错误是 导入javafx scene
  • 如何以编程方式关闭 VB.NET 中的 ComboBox 下拉菜单?

    在 Windows 窗体应用程序 VB NET 中 我有一个组合框 在某些条件下 当用户打开下拉列表时 我想显示一条警告消息 所有这些都运行良好 在 DropDown 事件中 我检查条件 如果需要 我会显示警告消息 问题是 当用户在警告消息
  • 如何向 Atom 的拼写检查词典添加单词?

    试图从 Atom 的拼写检查器中获得更多功能 但目前的误报使其变得不太有用 如何将单词添加到 Atom 词典中 使其不再显示为拼写错误 该功能已发布版本1 12 of Atom 实施于请求请求 120 https github com at
  • 如何在 Laravel 5.2 中手动发送密码重置请求?

    我想从控制器内手动向特定用户 不是当前登录的用户 发送密码重置请求 我在 Laravel 代码中做了一些挖掘 看来我应该调用postEmail Request request in ResetsPasswords 但我似乎不知道如何访问右侧
  • 如何在 Ruby on Rails 中调用 API(例如 Flickr API)?新手问题

    我正在用 Rails 构建我的第一个应用程序 我想调用 Flickr 的 API 我知道我可以使用 flickr fu rflickr 或其他 gem 但我想自己从头开始学习 比如说 我想打电话flickr photos comments