使用django中的PyVimeo向Vimeo添加区域列表

时间:2015-08-26 13:10:36

标签: python django vimeo vimeo-api pyvimeo

我有一个django应用,其中我使用PyVimeo模块连接并上传视频等,以Vimeo

发布区域数据的实际vimeo api为here

例如,我有以下数据[{u'country_name': u'CA'}, {u'country_name': u'US'}]向网址PUT发送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

按照Vimeo API文档

中所示的以下方式进行尝试
client.put(url + 'CA')

响应

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

但它没有反映在视频设置的“分发”部分中,默认为Worldwide

那么如何将区域列表设置为按需页面VOD?

1 个答案:

答案 0 :(得分:0)

尝试设置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)

这应该限制只分发给加拿大和美国。