Vimeo API: получить список ссылок для скачивания всех видеофайлов - PullRequest
0 голосов
/ 13 мая 2019

Добрый день.

Я пытаюсь получить список всех видеофайлов (ссылки на прямую загрузку) из учетной записи Vimeo.

Есть ли способ сделать это в запросе 1 GET? ОК, раз до 100, если это ограничение API.

У меня был жестко закодированный скрипт, в котором я делаю 12 запросов GET (1100+ видео, согласно документации, запрос ограничен 100 результатами), а затем отправляю более 1000 запросов на получение прямых ссылок.

Есть ли способ получить список ссылок для загрузки видео из Vimeo с одним запросом API к серверу?

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)

1 Ответ

1 голос
/ 24 мая 2019

Вы можете получить до 100 видео на запрос, но понимаете, что такой запрос к / me / videos будет возвращать полные метаданные для каждого видео, которые представляют собой множество данных для анализа. API или ваш клиент могут также истечь время ожидания, пока серверы Vimeo пытаются обработать ваш запрос.

Вам следует использовать параметр fields, чтобы возвращались только те метаданные загрузки, которые вам нужны. Вы также должны указать сортировку и направление, чтобы вы точно знали, в каком порядке должны возвращаться видео. 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

...