我想抓取一个限制视频列表的缩略图网址。
我用vimeo创建了一个应用程序,并获得了一个访问令牌。
如何使用此访问令牌来获得对方法的访问权?当我尝试这个:
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进行身份验证。我想抓取由相同的帐户上传的应用程序的视频缩略图。我的理解是,我生成的访问令牌应该提供这个访问。
我遗漏了什么?
更新:以下是对我有用的内容,基于公认的答案
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"]发布于 2014-09-26 17:36:31
高级API是Vimeo的旧API。这已经被废弃了,许多库仍然只使用这个旧API。
幸运的是,新的API非常简单,您不需要真正的库。尤其是如果你只想获得缩略图的话。
Authentication
看看开发站点上单用户和多用户应用程序的文档。由于您的用户没有vimeo帐户,所以您应该遵循单个用户帐户的说明(基本上是硬代码,即单个访问令牌)。您可以在应用程序页面的“身份验证”选项卡下生成此令牌。
API请求
新的API接口使用了更加简洁的身份验证和请求结构。缩略图与所有视频响应一起提供。这包括id}、https://api.vimeo.com/me/videos、id}/videos等。
Vimeo建议您将访问令牌包含在标题中(授权:承载{令牌}),但系统允许您通过URL (?access_token={ token })提供访问令牌。
最后一个请求可能看起来像
GET https://api.vimeo.com/me/videos
Authorization: bearer abcd1234Ruby
不幸的是,我对ruby并不熟悉,所以我无法帮助将它翻译成ruby,但是很可能有一个很棒的HTTP库可以帮助您。
发布于 2015-01-27 11:01:57
这就是我在做了很多实验后,从查询字符串中获得一个视频id的原因(感谢以上所有的海报)。
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"]https://stackoverflow.com/questions/26050391
复制相似问题