2015-08-26 28 views
1

使用PyVimeo我在我使用PyVimeo模塊來連接和上傳視頻等一個Django應用程序區到Vimeo的清單,Vimeo添加在Django

實際VIMEO API發佈區域數據是here

例如我有以下數據[{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

當在下面的方式嘗試作爲在Vimeo的API文檔

client.put(url + 'CA') 

響應

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

表示,但它不是在分發部反射視頻設置默認爲Worldwide

那麼實際上如何將區域列表設置爲點播頁面點播?

+0

批次PUT到https://api.vimeo.com/ondemand/pages/47753/regions看起來是正確的,我將不得不挖掘爲什麼這不起作用。對單個區域的PUT只能啓用該區域。它不會禁用其他地區,因爲您在全球範圍內可用,該地區已啓用,您將看不到任何更改。 – Dashron

+0

@Dashron非常感謝您的回覆,是的,我們真的遇到了Vimeo客戶端發佈區域的問題,這是因爲它使用原始數據和內容類型作爲application/json –

回答

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) 

這應該限制分配到只有加拿大和美國。