2012-11-01 97 views
0

因此,我試圖從YouTube上爲特定的視頻遊戲提取視頻。我的工作幾乎沒有問題,但是在解決視頻遊戲標題問題時,一些(大多數與體育專營權,電影等共享名字的人)正在返回非視頻遊戲相關結果。Youtube API v3,topicId和freebase

我看過文檔here,發現topicId過濾器,但我很努力地使用它。

如果我試圖把東西在它回來了:

$searchResponse = $youtube->search->list(array(
    'q' => $_GET['q'], 
    'maxResults' => $_GET['maxResults'], 
    'part' => 'id', 
    'order' => 'relevance', 
    'type' => 'video', 
    'topicId' => '/m/0d6lp' 
)); 

(名單)未知參數: 'topicId' 使用遊離鹼API

也有麻煩返回我需要的話題。

所有我想要做的就是過濾器的視頻只有在以下幾點: Youtube video category as 'gaming'

所以任何想法YouTube如何我限制搜索到的視頻遊戲只與搜索API?

回答

2

這個例子看起來有點不合適。對於YouTube版本,PHP客戶端的發佈版可能不會更新,但會對代碼進行檢查。前往https://code.google.com/p/google-api-php-client/並檢出源代碼以獲取最新版本,此代碼應該正常工作。

$searchResponse = $youtube->search->listSearch('id', array(
    'q' => $_GET['q'], 
    'maxResults' => $_GET['maxResults'], 
    'order' => 'relevance', 
    'type' => 'video', 
    'topicId' => '/m/0d6lp' 
)); 

呼叫listSearch代替list,並把part作爲第一個參數,而不是在數組中。

+1

我覺得我有點過於複雜,不需要freebase,我只需要在搜索/列表返回的id上做一個視頻/列表,然後將categoryId過濾爲20,即遊戲。無論如何感謝您的答案 – Horse