2017-10-05 191 views
0

我試圖獲取有關由Vimeo託管的視頻的信息(來自我客戶的頻道,因此沒有版權問題)。我使用Javascript,特別是d3.js。使用舊的API時,這種類型的URLVimeo API獲取javascript請求

請求正常工作:

http://vimeo.com/api/v2/video/video_id.output 

舉例來說,這部作品在d3.js:

d3.json("http://vimeo.com/api/v2/video/123456789.json", function(error,data){ 
    console.log(data); 
}): 

但我不能讓新的API,以一個簡單的請求一樣輕鬆的工作,例如使用這種類型的網址:

https://api.vimeo.com/videos?links=https://vimeo.com/123456789 

我需要做什麼牛逼做什麼?驗證?如果是這樣,怎麼樣?我會很感激在d3的jQuery中獲得示例。

+1

您首先需要vimeo的API密鑰+訪問令牌。 – lshettyl

回答

2

Vimeo的API文檔不是最好的,所以你必須挖掘一點,才能真正獲得你需要的信息。對於您的情況,如果您僅需要從不需要用戶身份驗證的端點請求數據(例如根據您的用例檢索視頻的元數據),則無需遍歷整個OAuth2循環。

首先,你需要創建一個新的應用,通過將https://developer.vimeo.com/apps

Create a new Vimeo app

您可以簡單地從您的Vimeo應用頁面生成下,說一節一個人訪問令牌生成一個訪問令牌

Generating an access token in Vimeo

請記住,此標記只會顯示一次(因此在生成時會將其複製):並且必須保證其安全! The access token should be part of the Authorization header's bearer token。如果您使用的捲曲,它看起來就像這樣:

curl -H "Authorization: Bearer <YourPersonalAccessToken>" https://api.vimeo.com/videos/123456789 

因此,儘管你可以做你的網頁檢索對客戶方視頻元數據,請注意,你實際上是暴露你的私人標誌傳送到世界上的以下:

d3.json("https://api.vimeo.com/videos/123456789/") 
    .header("Authorization", "Bearer <YourPersonalAccessToken>") 
    .get(function(error, data) { 
    console.log(data); 
    }); 

不過,我強烈建議你代理這個請求通過自己的服務器上,即在服務器上創建一個自定義的端點,說/getVimeoVideoMetadata。此API端點將接收視頻ID,並在發出請求之前添加祕密存儲的訪問令牌。這會掩蓋您網站訪問者的訪問令牌。

+0

這很好,謝謝。文件確實有點模糊IMO。我完全同意正在曝光的令牌。這只是爲了快速建立原型,我很可能會讓php在最終產品中處理請求。 – GuitarExtended