2013-02-26 90 views
0

当通过ID获取播放列表时,我遇到了v3 API的一些问题。Youtube API v3返回不同或缺失的播放列表

我有一个JavaScript应用程序,允许您搜索播放列表(通过调用www.googleapis.com/youtube/v3/search),然后将这些播放列表保存到几个“设备”中,然后保存在服务器上。当您返回时,该页面会获取关联的设备和Youtube播放列表ID的列表。要显示更多细节(姓名,图片等),请致电www.googleapis.com/youtube/v3/playlists

问题是/playlists似乎没有返回有效的播放列表。最赤裸的测试用例是一个电话:

https://www.googleapis.com/youtube/v3/playlists?key=KEY&part=id%2Csnippet&id=PL736C3116AD309B58

返回

{ 
"kind": "youtube#playlistListResponse", 
"etag": "\"5cYuq_ImPkYn_h2RKDdX8DHvM2g/T0etSAnItCRUAPOtHRCu92sMKQU\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 1 
}, 
"items": [] 
} 

注意,它显示 “使用totalResults:1”,但0实际结果。

针对相同播放列表ID(http://www.youtube.com/playlist?list=PL736C3116AD309B58)的YouTube网站调用显示有效的播放列表。

这用于工作。

我没有使用oauth进行身份验证,但是我将结果与未经身份验证的Web请求或非执行API搜索进行了比较。

回答

0

我不知道为什么是这样的话,但在您链接到播放列表中的影片之一,当点击,它显示SP736C3116AD309B58作为playlistId(注意预谋SP,而不是PL)。不过,我验证了PL ID确实是到一个显示在搜索结果...

但是这个端点的电话给你,你正在寻找... 调用数据:

https://www.googleapis.com/youtube/v3/playlists?key={API_KEY}&part=id%2Csnippet&id=SP736C3116AD309B58

响应:

{ 
"kind": "youtube#playlistListResponse", 
"etag": "\"5cYuq_ImPkYn_h2RKDdX8DHvM2g/iOZzhrEf1VYbGO25CZhT4ga_Gw4\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 1 
}, 
"items": [ 
    { 

    "id": "SP736C3116AD309B58", 
    "kind": "youtube#playlist", 
    "etag": "\"5cYuq_ImPkYn_h2RKDdX8DHvM2g/U04KGNFEmQkvMoEC7XrbSayIGUY\"", 
    "snippet": { 
    "publishedAt": "2009-04-21T15:23:31.000Z", 
    "channelId": "UCNYrK4tc5i1-eL8TXesH2pg", 
    "title": "Auto-Tune the News", 
    "description": "The only news you need has a bass line", 
    "thumbnails": { 
    "default": { 
     "url": "https://i.ytimg.com/vi/hMtZfW2z9dw/default.jpg" 
    }, 
    "medium": { 
     "url": "https://i.ytimg.com/vi/hMtZfW2z9dw/mqdefault.jpg" 
    }, 
    "high": { 
     "url": "https://i.ytimg.com/vi/hMtZfW2z9dw/hqdefault.jpg" 
    } 
    } 
    }, 
    "status": { 
    "privacyStatus": "public" 
    } 
    } 
] 
} 

是否有任何理由你不只是捕捉在实际搜索该数据呼叫?

+0

这是通过JS。在服务器上,我保存与“设备”关联的播放列表。问题是,在未来的会话期间,我获取设备的播放列表ID并希望显示信息。不确定坚持所有数据是一个好主意,并且可以说是抵制YT的禁止缓存规则。 有关变通办法的任何想法? – 2013-02-26 07:57:17

相关问题