0

通过 ID 获取播放列表时,我在使用 v3 API 时遇到了一些问题。

我有一个 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 搜索进行比较。

4

1 回答 1

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"
   }
  }
 ]
}

您是否有任何理由不只是在实际的搜索调用中捕获这些数据?

于 2013-02-26T07:20:53.737 回答