首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vimeo ruby gem通过access脚本访问vimeo API

使用Vimeo ruby gem通过access脚本访问vimeo API
EN

Stack Overflow用户
提问于 2014-09-26 00:50:22
回答 2查看 1.3K关注 0票数 2

我想抓取一个限制视频列表的缩略图网址。

我用vimeo创建了一个应用程序,并获得了一个访问令牌。

如何使用此访问令牌来获得对方法的访问权?当我尝试这个:

代码语言:javascript
复制
videos = Vimeo::Advanced::Video.new("client_identifier", "client_secret", 
    :token => "access_token")
videos.get_thumbnail_urls(the_video_id)

我得到了

代码语言:javascript
复制
Vimeo::Advanced::RequestFailed: 401: Permission Denied, explanation: The oauth_token passed was either not valid or has expired.

我的用户没有vimeo帐户,所以我看不出有什么意义(或方法)让他们使用vimeo进行身份验证。我想抓取由相同的帐户上传的应用程序的视频缩略图。我的理解是,我生成的访问令牌应该提供这个访问。

我遗漏了什么?

更新:以下是对我有用的内容,基于公认的答案

代码语言:javascript
复制
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"]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-26 17:36:31

高级API是Vimeo的旧API。这已经被废弃了,许多库仍然只使用这个旧API。

幸运的是,新的API非常简单,您不需要真正的库。尤其是如果你只想获得缩略图的话。

Authentication

看看开发站点上单用户和多用户应用程序的文档。由于您的用户没有vimeo帐户,所以您应该遵循单个用户帐户的说明(基本上是硬代码,即单个访问令牌)。您可以在应用程序页面的“身份验证”选项卡下生成此令牌。

API请求

新的API接口使用了更加简洁的身份验证和请求结构。缩略图与所有视频响应一起提供。这包括id}https://api.vimeo.com/me/videosid}/videos等。

Vimeo建议您将访问令牌包含在标题中(授权:承载{令牌}),但系统允许您通过URL (?access_token={ token })提供访问令牌。

最后一个请求可能看起来像

代码语言:javascript
复制
GET https://api.vimeo.com/me/videos
Authorization: bearer abcd1234

Ruby

不幸的是,我对ruby并不熟悉,所以我无法帮助将它翻译成ruby,但是很可能有一个很棒的HTTP库可以帮助您。

票数 3
EN

Stack Overflow用户

发布于 2015-01-27 11:01:57

这就是我在做了很多实验后,从查询字符串中获得一个视频id的原因(感谢以上所有的海报)。

代码语言:javascript
复制
escaped_title = CGI::escape(title)
api_url = "https://api.vimeo.com/videos?query=#{escaped_title}&sort=relevant&access_token=#{@access_token}"
vimeo_response = JSON.parse(HTTParty.get api_url)
vimeo_id = vimeo_response["data"][0]["uri"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26050391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档