ruby-on-rails - 使用 vimeo ruby​​ gem 通过访问脚本访问 Vimeo API

标签 ruby-on-rails ruby oauth vimeo vimeo-api

我想获取受限视频列表的缩略图网址。

我使用 vimeo 创建了一个应用程序并获得了访问 token 。

我如何使用此访问 token 来访问该方法?当我尝试这个时:

videos = Vimeo::Advanced::Video.new("client_identifier", "client_secret", 
    :token => "access_token")
videos.get_thumbnail_urls(the_video_id)

我明白了

Vimeo::Advanced::RequestFailed: 401: Permission Denied, explanation: The oauth_token passed was either not valid or has expired.

我的用户没有 vimeo 帐户,所以我看不出让他们使用 vimeo 进行身份验证的意义(或方法)。我想抓取创建该应用程序的同一帐户上传的视频的缩略图。我的理解是我生成的访问 token 应该提供此访问权限。

我错过了什么?

更新:根据已接受的答案,这是对我有用的内容

require 'httparty'

video_id = "123456789"   # substitute with the desired video ID
api_url = "https://api.vimeo.com/videos/#{video_id}/"  
auth = "Bearer access_token_generated_by_vimeo"    # use your access token
r = HTTParty.get api_url, headers: { "Authorization" => auth, "Accept" => "application/vnd.vimeo.*+json;version=3.2" }  # make sure to use the proper Accept header as recommended in the API docs
v = JSON.parse(r)
v["pictures"]["sizes"][1]["link"]

最佳答案

Advanced API 是 Vimeo 的旧 API。这已被弃用,许多库仍然只能使用这个旧 API。

幸运的是,新的 API 非常简单,您真的不需要库。特别是如果您只想访问缩略图。

身份验证

dev site 上查看单用户与多用户应用程序的文档.由于您的用户没有 vimeo 帐户,您应该按照单个用户帐户的说明进行操作(基本上是对单个访问 token 进行硬编码。您可以在“身份验证”选项卡下的应用程序页面上生成此 token )。

API 请求

API使用更简洁的身份验证和请求结构。缩略图与所有视频回复一起提供。这包括 https://api.vimeo.com/videos/{video_id} , https://api.vimeo.com/me/videos , https://api.vimeo.com/channels/{channel_id}/videos和更多。

Vimeo 建议您在 header 中包含您的访问 token (授权:bearer {token}),但系统允许您通过 URL (?access_token={token}) 提供它。

最终的请求可能是这样的

GET https://api.vimeo.com/me/videos
Authorization: bearer abcd1234

ruby

不幸的是,我不熟悉 ruby​​,所以我无法帮助将其转换为 ruby​​,但可能有一个很棒的 HTTP 库可以帮助您。

关于ruby-on-rails - 使用 vimeo ruby​​ gem 通过访问脚本访问 Vimeo API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050391/

相关文章:

ruby-on-rails - 仅显示用户上传的照片(如果 Rails 中存在)

ruby-on-rails - 使用“sudo gem install nokogiri”在 Mac 上安装 nokogiri 时出错

ruby-on-rails - 我如何在 rails 中使外键/主键不区分大小写

ruby-on-rails - 如何测试引发错误的方法的副作用

ruby-on-rails - 使用简单的形式从哈希动态创建输入

php - 如何使用 PHP 或 mySQL 实现 2 路加密?

ios - 每小时运行一次 OAuth URLRequest? - swift

ruby - 哪个库将为 Sinatra 提供最简单的 OAuth 2.0 身份验证

ruby-on-rails - Ruby 元编程 Q : Calling an external class method on after_save

ruby - 了解简单的 `instance_eval` 示例