2015年5月10日 星期日

時代的眼淚,掰掰啦YouTube data API V2,來看看怎麼轉到V3吧



咦?怎麼回事?
在早先的VANS官網中,我串接了VANS在Youtube上面的頻道,作為網站的素材,而在近日Google將原先的Youtube Data API V2淘汰,轉而換成了V3,然後vans網站就跑出這個畫面啦。因此這可讓小弟花了不少時間重新調整,當然也就有這個機會好好地study 文件的內容,話不多說,就讓我把簡易的步驟介紹給大家。

開始之前,要先註冊專案喔
沒錯,你必須到google的開發者頁面註冊你專案,同時獲取最重要的API Key,這個API Key是接下來要透過ajax向API索取頻道資料時,讓google認證用的,一旦確定你的 API Key是經過認證的,那麼你就可以獲得你所要求的任何資料。這一點和V2有很大的差異。

至於怎麼獲取,在這裡和大家分享一個教學影片,步驟相當簡單,只要照著影片的方式,你也可以得到屬於你自己的API Key。




再來兩個步驟(累...)
ok,接下來分兩個步驟,首先你需要獲得想要串接的Youtube Channel的playlist ID,你可以利用channel本身的ID在這個頁面取得,
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=contentDetails
在第五欄的id輸入頻道的ID,然後點擊右上方授權,接著Execute後就可以獲得playlist ID,

然後再到這個頁面,
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=snippet%252CcontentDetails%252Cstatus
輸入剛剛獲得的playlist ID(天呀,世界麻煩的...),一樣點擊右上方授權並且執行後,你就可以得到天殺的Get Request需要的網址,大概會長的像這樣子

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails%2Cstatus&playlistId={Your Playlist ID}&key={YOUR_API_KEY}

基本上裡面就會有你需要的各種資料,包含有影片的id、縮圖、標題、刊登的時間、描述等,但讓我很不解的是,為什麼裡面竟然沒有觀看人數(viewCount)這項資料,畢竟在V2時,同一支API這些資料是放一起的,沒想到到了V3卻沒有,害我還要再call另外一支API去要= =



厚臉皮的小聲詢問
小弟同時在此不知道有沒有哪位神人知道可以在V3裡面,直接就獲取所有資訊的方法,不然要 
Get Request兩次,我覺得自己有點蠢XD

目前這個成品在vans官網都可以看到,但我發現還有點不穩定@@,總之,我會繼續探詢最佳的優化方式的,喔耶~。



20150922更新
小弟大驚,Vans官網截取的縮圖突然全部消失,這才發現偉大的Youtube API又有小更動,在取得影片縮圖(thumbnails)的選項裡面,原先的standard已經不見啦,只剩下default、high、和medium,實在嚇死我了,趁半夜緊急做了小調整。

是說網站串接youtube頻道的方式,雖然真的很方便,但常常冒出這種驚喜,實在讓人措手不及。


2 則留言:

  1. 查了一下網路上的資料,的確是不能一支就連 viewCount 都叫到。其實我們自己在規劃資料庫的時候也會常見的把 key data 也就是每一個物件的基本資料放在一個 table,剩下的可有可沒有的或是跟統計有關的會額外放在別的 table XD

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除