Vimeo API: 获取所有视频文件的下载链接列表
Vimeo API: get a list of links for downloading all video files
美好的一天。
我正在尝试从 Vimeo 帐户获取所有视频文件的列表(指向直接下载的链接)。
有没有办法在 1 GET 请求中做到这一点? OK,如果是API.
的限制,到100次
我有硬编码脚本,我在其中发出 12 个 GET 请求(1100 多个视频,根据文档,请求限制为 100 个结果),然后发出超过 1000 个请求以接收直接链接。
有没有一种方法可以通过向服务器发出 API 请求来接收用于从 Vimeo 下载视频的链接列表?
PS 帐户是 PRO
import vimeo
import json
import config #token is here
client = vimeo.VimeoClient(
token = config.token
)
per_page = 100
answerDataAll = []
for i in range(12):
page=i+1
getString = 'https://api.vimeo.com/me/videos?per_page='+str(per_page) + '&page=' + str(page)
dataFromServer = client.get(getString).json()['data']
answerDataAll.extend(dataFromServer)
# creating list of videos
listOfItems = []
for item in answerDataAll:
listOfItems.append( item ['uri'])
# creating list of direct links, it is the goal
listOfUrls = []
for item in listOfItems:
# isolating digits
videoID = ""
for sign in item:
if sign.isdigit():
videoID = videoID + sign
requestForDownloading = client.get ('http://player.vimeo.com/video/' + videoID + '/config').json()['request']['files']['progressive']
for itm in requestForDownloading:
if itm['width']==640:
urlForDownloading = itm['url']
listOfUrls.append(urlForDownloading)
每个请求最多可以获取 100 个视频,但请注意,像 /me/videos 这样的请求将 return 每个视频的完整元数据,需要解析大量数据. API 或您的客户端也可能在 Vimeo 的服务器尝试呈现您的请求时超时。
您应该使用字段参数,以便只 return 编辑您需要的下载元数据。您还应该指定排序和方向,这样您就知道视频应该 return 的确切顺序。请求 uri 的格式应该如下所示:
https://api.vimeo.com/me/videos?fields=uri,name,download&page=1&per_page=100&sort=date&direction=desc
可在此处找到这些参数的文档:
https://developer.vimeo.com/api/common-formats#json-filter
https://developer.vimeo.com/api/common-formats#using-the-pagination-parameter
https://developer.vimeo.com/api/common-formats#using-the-sort-parameters
美好的一天。
我正在尝试从 Vimeo 帐户获取所有视频文件的列表(指向直接下载的链接)。
有没有办法在 1 GET 请求中做到这一点? OK,如果是API.
的限制,到100次我有硬编码脚本,我在其中发出 12 个 GET 请求(1100 多个视频,根据文档,请求限制为 100 个结果),然后发出超过 1000 个请求以接收直接链接。
有没有一种方法可以通过向服务器发出 API 请求来接收用于从 Vimeo 下载视频的链接列表?
PS 帐户是 PRO
import vimeo
import json
import config #token is here
client = vimeo.VimeoClient(
token = config.token
)
per_page = 100
answerDataAll = []
for i in range(12):
page=i+1
getString = 'https://api.vimeo.com/me/videos?per_page='+str(per_page) + '&page=' + str(page)
dataFromServer = client.get(getString).json()['data']
answerDataAll.extend(dataFromServer)
# creating list of videos
listOfItems = []
for item in answerDataAll:
listOfItems.append( item ['uri'])
# creating list of direct links, it is the goal
listOfUrls = []
for item in listOfItems:
# isolating digits
videoID = ""
for sign in item:
if sign.isdigit():
videoID = videoID + sign
requestForDownloading = client.get ('http://player.vimeo.com/video/' + videoID + '/config').json()['request']['files']['progressive']
for itm in requestForDownloading:
if itm['width']==640:
urlForDownloading = itm['url']
listOfUrls.append(urlForDownloading)
每个请求最多可以获取 100 个视频,但请注意,像 /me/videos 这样的请求将 return 每个视频的完整元数据,需要解析大量数据. API 或您的客户端也可能在 Vimeo 的服务器尝试呈现您的请求时超时。
您应该使用字段参数,以便只 return 编辑您需要的下载元数据。您还应该指定排序和方向,这样您就知道视频应该 return 的确切顺序。请求 uri 的格式应该如下所示:
https://api.vimeo.com/me/videos?fields=uri,name,download&page=1&per_page=100&sort=date&direction=desc
可在此处找到这些参数的文档:
https://developer.vimeo.com/api/common-formats#json-filter
https://developer.vimeo.com/api/common-formats#using-the-pagination-parameter
https://developer.vimeo.com/api/common-formats#using-the-sort-parameters