2011-06-14 101 views
2

要具有一定的標籤我用下面的API網址得到一定上傳的飼料:查看YouTube影片飼料的標籤,在標籤空間

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/TAG 

,如果我想查詢即對於飼料與標籤foobar,我會用以下內容:

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/foo/bar 

但由於YouTube,您可以與空間,即"foo bar"指定標籤,我想正確搜索這個標籤。所以當我在PHP中使用第一個URL和urlencode時,它不會返回任何東西。

在瀏覽器中,URL將更改爲。 ../uploads/-/foo%20bar,但也沒有結果。

當我使用uploads/-/foo/bar,問題是,它返回有視頻的標籤'foo''bar'(錯誤),或僅'foo bar'(右)。

我也嘗試用/,+-替換空格。在URL中使用keywords.cat方案也會返回相同的結果。

有什麼我錯過了,或者一般不可能嗎?

+2

嘗試foo +吧。另外,echo urlencode('foo bar')'[將返回空格+](http:// codepad。org/qgbHy6dp),所以我不確定你在說什麼[你在PHP中使用urlencode](http://de2.php.net/manual/en/function.urlencode.php)時你在做什麼。 – Gordon 2011-06-14 10:42:33

+0

我編輯了我的問題,+號也沒有做什麼 – 2011-06-14 10:54:53

回答

0

我遇到了同樣的問題,並能夠通過使用 https://gdata.youtube.com/feeds/api/videos?q=格式得到它的工作。
https://gdata.youtube.com/feeds/api/videos?q=+Team%20Fortress%202
你可以通過改變檢查這個+-
https://gdata.youtube.com/feeds/api/videos?q=-Team%20Fortress%202

這樣做的缺點是,q參數將查詢該視頻的所有元數據,所以相應地調整。

心連心 格雷格

+0

我也在想,但是由於客戶端對內容負責,我不能保證元數據是相應調整。因此,獲得完全正確的標籤的唯一方法是閱讀所有內容,然後在php中檢查,如果標籤真的是「富酒吧」而不是「富」和「酒吧」。 – 2011-07-04 10:33:32

2

如前所述有一個YouTube bug,但你可以使用%2B(+),而不是解決它的空間。

因此,使用你的例子:

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/foo%2Bbar

我會加入這個作爲一個評論,但我缺乏代表。

+0

謝謝!我明天會試試看,如果它適用於我的情況,請告訴我。 – 2011-07-13 21:51:55

+0

nope,與所有其他「解決方案」一樣。回放標有「foo」,「bar」和「foo bar」的視頻,而不僅僅是「foo bar」。 – 2011-07-14 08:06:07