2017-04-11 55 views
1

我們遇到了YouTube數據API未返回某些請求視頻的統計信息的問題。我們使用自定義實現與API進行交互,但是可以使用API​​瀏覽器來重現問題,我將在整篇文章中使用它。某些視頻ID缺少響應請求部分


首先,我會告訴你一個工作通道ID(UCfDUwK9MPrjxmsTz1pzjkbw)會發生什麼:

使用channels.Listpart=statistics,contentDetails,snippetid=UCfDUwK9MPrjxmsTz1pzjkbw我們得到了一個有效的響應。對於這種用例,我們感興趣的是contentDetails -> relatedPlaylists -> uploads,它返回播放列表ID UUfDUwK9MPrjxmsTz1pzjkbw

playlistItems.Listpart=contentDetailsplaylistId=UUfDUwK9MPrjxmsTz1pzjkbw(我們在前面的步驟中找到的播放列表ID)返回屬於播放列表的視頻列表。我們感興趣的是contentDetails -> videoId。例如vSS9AYF29_U

videos.Listpart=id,statisticsid=vSS9AYF29_U(前面步驟中的示例視頻ID)我們得到了我們正在查找的響應(此視頻的統計信息)。


現在,與信道ID相同的過程,不能產生所希望的結果(UCpHTv1eQBeSlrdmlh8C6ZxQ):

channels.List返回播放列表ID UUpHTv1eQBeSlrdmlh8C6ZxQ

playlistItems.List返回實例視頻ID OFTib3gUua0

videos.List確實不是返回請求的統計信息部分。


有沒有人知道爲什麼會發生這種情況?是什麼讓這個頻道如此特別?頻道所有者是否可以禁止通過API檢索公共信息?如果您在瀏覽器中觀看視頻(https://youtu.be/OFTib3gUua0),則可以看到統計信息本身。

我不認爲問題出在我們的實現上,因爲它可以通過API瀏覽器進行復制。另一個奇怪的事情是,這在幾天前針對我們使用的每個頻道ID都有效。

任何想法,高度讚賞。

+0

有一個人注意到這個問題的另一種情況:http://stackoverflow.com/questions/43339723/missing-statistics-from-video-list-response \t 我注意到,統計信息對象缺失的視頻將publicStatsViewable設置爲False(https://developers.google.com/youtube/v3/docs/videos#status.publicStatsViewable)。我無法找到文檔中的任何內容來說明統計對象在這種情況下會丟失,但它似乎是迄今爲止的一對一關聯 - 我相信publicStatsViewable是頻道所有者可以設置的內容。 – user3468054

+0

感謝您的評論@ user3468054!該文檔稱「即使此屬性的值設置爲false,視頻的觀看次數和評分等統計信息仍會公開顯示」。這與此行爲相矛盾,因爲'part = statistics'返回'viewCount,likeCount,dislikeCount,favoriteCount,commentCount' –

+0

我同意它並不真正與文檔所說的一起 - 只是一個經驗觀察(小樣本) ! 另請參閱:https://issuetracker.google.com/issues/37107133 – user3468054

回答

1

這可能是一個錯誤,直到4月7日才能正常工作。爲此創建了一個Issue Tracker,我們仍在等待Google對此的迴應。

編輯: 這似乎終於被固定