Добавьте список регионов в Vimeo, используя PyVimeo в django

У меня есть приложение django, в котором я использую модуль PyVimeo для подключения и загрузки видео и т. д., чтобы Vimeo

Фактический API vimeo для публикации данных о регионе был здесь

Например, у меня есть следующие данные [{u'country_name': u'CA'}, {u'country_name': u'US'}] для отправки PUT запроса на URL https://api.vimeo.com/ondemand/pages/47753/regions

Из кода я пытался отправить запрос PUT, как показано ниже

import vimeo

token = XXXXXXXXXXXXXXXXXX
VIMEO_KEY = XXXXXXXXXXXXXXXXXX
VIMEO_SECRET = XXXXXXXXXXXXXXXXXX
client = vimeo.VimeoClient(key=VIMEO_KEY, secret=VIMEO_SECRET, token=token)

url = https://api.vimeo.com/ondemand/pages/47753/regions
regions_data = [{u'country_name': u'CA'}, {u'country_name': u'US'}]

result_data = client.put(url, regions_data)

Ответ был 400 Bad request

При попытке описанного ниже способа, как указано в документации по API Vimeo.

client.put(url + 'CA')

Ответ

HTTP/1.1 201
Location: Array
Host: api.vimeo.com

Но это не отражалось в разделе «Распространение» в настройках видео и по умолчанию было Worldwide.

Так как же на самом деле установить список регионов для VOD страницы по запросу?


person Shiva Krishna Bavandla    schedule 26.08.2015    source источник
comment
Пакет PUT в api.vimeo.com/ondemand/pages/47753/regions выглядит правильно, мне придется разобраться, почему это не работает. PUT в один регион включает только этот регион. Это не отключит другие регионы, поэтому, поскольку вы доступны по всему миру, регион уже включен, и вы не увидите никаких изменений.   -  person Dashron    schedule 27.08.2015
comment
@Dashron Большое спасибо за ответ, да, мы действительно столкнулись с проблемой с Vimeo Client для публикации территорий, кстати, он работал от почтальона при использовании необработанных данных с типом контента как application / json   -  person Shiva Krishna Bavandla    schedule 31.08.2015


Ответы (1)


Попробуйте установить country_code вместо country_name

v = vimeo.VimeoClient(key=YOUR_VIMEO_KEY,
                      secret=YOUR_VIMEO_SECRET,
                      token=YOUR_VIMEO_TOKEN)

regions_data = [{'country_code': 'CA'}, {'country_code': 'US'}]

output = v.put('/ondemand/pages/mytestvod/regions', data=regions_data)

Это должно ограничить распространение только Канадой и США.

person Joe Cabrera    schedule 31.08.2015