通过API获得youtube视频的喜爱

通过API获得youtube视频的喜爱,youtube,youtube-api,Youtube,Youtube Api,我知道如何使用YouTube API获得“喜欢”视频的数量,但我想获得这些视频的列表 在阅读了文档之后,我认为可以通过获取“喜欢的”播放列表来实现,但我不知道具体如何实现 我可以通过Javascript API获取“喜欢的”视频列表吗?如果您使用的是API的v3,那么您可以获取喜欢的视频列表。首先,调用您的频道提要,如下所示: https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&

我知道如何使用YouTube API获得“喜欢”视频的数量,但我想获得这些视频的列表

在阅读了文档之后,我认为可以通过获取“喜欢的”播放列表来实现,但我不知道具体如何实现


我可以通过Javascript API获取“喜欢的”视频列表吗?

如果您使用的是API的v3,那么您可以获取喜欢的视频列表。首先,调用您的频道提要,如下所示:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key={YOUR_API_KEY}
然后,在响应中,您将有一个相关播放列表的列表——其中一个将键入“likes”。获取该播放列表ID并请求其项目提要:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId={PLAYLIST_ID}&key={YOUR_API_KEY}

如果您不使用API的v3,您可能无法成功获取喜欢的视频。

截至2020年,
/videos
端点允许您直接筛选喜欢的视频,例如:

GET https://www.googleapis.com/youtube/v3/videos?myRating=like&part=snippet
Authorization: Bearer <oauth token>
GEThttps://www.googleapis.com/youtube/v3/videos?myRating=like&part=snippet
授权:持票人

如果将以下参数传递给playlitems.list,则可以获得与授权帐户关联的喜欢的视频播放列表

auth:“您的\u auth\u密钥”
播放ID:“LL”
下面是一段代码片段,来自我运行的脚本,用于在文本文件中获取喜欢的视频
注意:我使用YouTube API文档中提供的帮助程序代码获取
authkey
,并将其传递给我的函数

//通过一个频道获取所有喜欢的视频
异步函数获取播放列表(authkey){
fs.writeFile(“./output/“+”所有视频“+”.txt“,“\n”+时间戳,{flag:'a++},e=>console.log(e));
让nextPageToken_u2;=null;
让文本_uquo;;
设i=0;
做{
等待API.playlitems.list({
键:process.env.API_键,
auth:authkey,
部分:“片段”,
maxResults:50,//50是最大值
playlid:“LL”,
pageToken:nextPageToken_
})
。然后(res=>{
让结果=res.data.items;
nextPageToken_u2;=res.data.nextPageToken;
results.forEach(项目=>{
//console.log(`Title:${item.snippet.Title}\tURL:https://youtu.be/${item.snippet.resourceId.videoId}`)
i++;
text\uuu+=“\n标题:“+item.snippet.title+”\tURL:https://youtu.be/“+item.snippet.resourceId.videoId;
});
log(“完成的项目:+i+”\tnextPageToken:+nextPageToken;”;
})
.then(fs.writeFile(“./output/“+”all_-like_-videos“+”.txt),text_uuu,{flag:'a++},e=>{if(e)console.log(“fs\t“+e错误);}))
。然后(text_uu=”“)
.catch(e=>console.log(“此处出错\t”+e))
}while(nextPageToken_u!=null)
如果(text_uuu.length>1)fs.writeFile(“./output/“+”所有喜欢的视频“+”.txt),text_uuu,{flag:'a++',e=>{if(e)console.log(“fs\t“+e错误);});
}

很抱歉这么晚才回复您。。。看来还好。但是,现在,我很难简单地访问API…:(我不知道如何对其进行身份验证..我不想要求用户自动调整大小。它必须已自动调整大小。在这两个请求中,您必须将&key={YOUR\u API\u key}替换为&acces\u token={ACCESS\u token}。它仅适用于授权查询。)