我有一個腳本,使用YouTube API(v3)從藝術家姓名和音樂名稱中找到音樂視頻。YouTube API搜索 - 優先考慮的VEVO視頻
然而,這在某些情況下,第一個選擇(按相關性排序)不是官方視頻VEVO。
我試着在我的查詢中添加VEVO(以藝術家的姓名和音樂名稱命名),但是當沒有視頻VEVO時,API不返回任何結果。
是否可以強制選擇VEVO視頻,如果它們存在?
謝謝。
文森特
我有一個腳本,使用YouTube API(v3)從藝術家姓名和音樂名稱中找到音樂視頻。YouTube API搜索 - 優先考慮的VEVO視頻
然而,這在某些情況下,第一個選擇(按相關性排序)不是官方視頻VEVO。
我試着在我的查詢中添加VEVO(以藝術家的姓名和音樂名稱命名),但是當沒有視頻VEVO時,API不返回任何結果。
是否可以強制選擇VEVO視頻,如果它們存在?
謝謝。
文森特
var request = gapi.client.youtube.search.list
({
q: artiste+' '+track,
part: 'snippet',
order: 'relevance'
});
request.execute(function(response)
{
idVideo=response.result.items[0].id.videoId;
});
這是允許選擇基於藝術家的名字視頻的ID和音樂的名稱
更新零件:我不認爲聯合視頻這表明我放在下面會工作得很好,但我會留在那裏以防萬一你想探索它。什麼可以更好地工作,再次不能保證,但應該更準確,只是希望最好的是簡單地將它排序viewCount
,而不是相關性...一般來說,VEVO視頻的意見最多。
GET https://www.googleapis.com/youtube/v3/search?part=snippet&order=viewCount&q=nicki+minaj+anaconda&type=video&key={YOUR_API_KEY}
-
原來的答案
我沒能還測試它,它不一定會限制它僅VEVO視頻但你可以嘗試銀團選項https://developers.google.com/youtube/v3/docs/search/list#videoSyndicated
string
The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. If you specify a value for this parameter, you must also set the type parameter's value to video.
Acceptable values are:
any – Return all videos, syndicated or not.
true – Only retrieve syndicated videos.
如果這不返回任何內容,那麼執行沒有聯合的相同搜索並使用第一個選項。
這其實很簡單。您需要做的是將'VEVO'添加到您的搜索查詢中。這將確保來自VEVO頻道的任何內容都將成爲第一個結果。它應該看起來像這樣。
var request = gapi.client.youtube.search.list
({
q: artiste+' '+track + 'VEVO',
part: 'snippet',
order: 'relevance'
});
如果你wan't確保你得到一個VEVO的視頻做最簡單的事情是分析通道標題,以確保它包含單詞「VEVO」。該代碼然後看起來像這樣
var request = gapi.client.youtube.search.list
({
q: artiste+' '+track + 'VEVO',
part: 'snippet',
order: 'relevance'
});
var obj = JSON.parse(result.content);
var findChannelTitle = obj.items[0].snippet.channelTitle;
var isVevo = findChannelTitle.match(/VEVO/g); //checks to see if this is VEVO content. We only wan't to use Vevo videos.
if (isVevo){ //returns true if VEVO is found in the channel title
var youtubeVideoId = obj.items[0].id.videoId; //finds the video ID
return youtubeVideoId;
}else{
return null;
}
張貼您的腳本。 – JAL 2015-03-31 13:23:56