Javascript 使用YouTube API获取带有电子邮件或用户名的用户YouTube播放列表

Javascript 使用YouTube API获取带有电子邮件或用户名的用户YouTube播放列表,javascript,angularjs,youtube-api,Javascript,Angularjs,Youtube Api,我正在使用最新的YouTube API(我相信是v3)。这是我一直使用的文档 通过使用javascript调用,我可以获得用户YouTube播放列表中的频道ID: function getPlaylists(channelId) { return $.get("https://www.googleapis.com/youtube/v3/playlists", { part: 'snippet', channelId: channelId, key: key }); } 当我有播放列表时

我正在使用最新的YouTube API(我相信是v3)。这是我一直使用的文档

通过使用javascript调用,我可以获得用户YouTube播放列表中的频道ID:

function getPlaylists(channelId) {
    return $.get("https://www.googleapis.com/youtube/v3/playlists", { part: 'snippet', channelId: channelId, key: key });
}
当我有播放列表时,我可以获得每个播放列表的playlid属性。使用播放ID,我可以使用javascript代码获取播放列表的所有视频:

function getPlaylistVideos(playlistId) {
    return $.get('https://www.googleapis.com/youtube/v3/playlistItems', { part: 'snippet', playlistId: playlistId, key: key });
}

我真的不喜欢这样,我必须让用户尝试找到他们的ChannelId来拉入他们的播放列表。我希望能够让用户只是通过他们的电子邮件或用户名来做到这一点。这可能吗?是否可以不使用YouTube身份验证?如果没有,是否有关于YouTube身份验证服务使用的好消息来源?

您可以通过三个步骤为用户名执行此操作,当然电子邮件需要Oauth2,因此这是不可能的

步骤1

使用YouTube API v3和资源
channel.list

使用此参数获取具有用户名的频道的频道ID:

part: 'snippet'
forUsername: 'GoogleDevelopers'
你会得到:

"items": [
  {
   "kind": "youtube#channel",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/lVXRA_GH5DhBajCt1cOeuB4TWbw\"",
   "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
现在,您将获得通道的ID
ucux5xg1ov2p6uzz5fsm9ttw

步骤2

使用YouTube API v3和资源
播放列表.list

使用此参数可获取频道的所有播放列表ID:

part: 'snippet'
channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw'
part: 'snippet'
playlistId: 'PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn'
您可以获得所有播放列表id

"items": [
  {
   "kind": "youtube#playlist",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/sxN5XCGvIn_Rnsan74s_A_k16L8\"",
   "id": "PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn",
"items": [
  {
   "kind": "youtube#playlistItem",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/WFwMbOGG8nLHKF8tH1W41WNFJBk\"",
   "id": "UExPVTJYTFl4bXNJS1hZUl8zaU9Xbkk0aDFEb19hYThkbi41NkI0NEY2RDEwNTU3Q0M2",
   "snippet": {
    "publishedAt": "2016-04-18T17:33:55.000Z",
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "title": "#Love4Dev - What Magnus Hyttsten loves most about the power of mobile APIs",
现在步骤3

使用YouTube API v3和资源
播放列表.list

使用此参数将视频放入频道的播放ID:

part: 'snippet'
channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw'
part: 'snippet'
playlistId: 'PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn'
您可以获得所有播放列表id

"items": [
  {
   "kind": "youtube#playlist",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/sxN5XCGvIn_Rnsan74s_A_k16L8\"",
   "id": "PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn",
"items": [
  {
   "kind": "youtube#playlistItem",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/WFwMbOGG8nLHKF8tH1W41WNFJBk\"",
   "id": "UExPVTJYTFl4bXNJS1hZUl8zaU9Xbkk0aDFEb19hYThkbi41NkI0NEY2RDEwNTU3Q0M2",
   "snippet": {
    "publishedAt": "2016-04-18T17:33:55.000Z",
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "title": "#Love4Dev - What Magnus Hyttsten loves most about the power of mobile APIs",
你可以得到播放列表中的所有视频


重要的部分是第一步,用户只需要输入他们频道的用户名,如我的示例:

您可以分三步输入用户名,当然电子邮件需要Oauth2,所以这是不可能的

步骤1

使用YouTube API v3和资源
channel.list

使用此参数获取具有用户名的频道的频道ID:

part: 'snippet'
forUsername: 'GoogleDevelopers'
你会得到:

"items": [
  {
   "kind": "youtube#channel",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/lVXRA_GH5DhBajCt1cOeuB4TWbw\"",
   "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
现在,您将获得通道的ID
ucux5xg1ov2p6uzz5fsm9ttw

步骤2

使用YouTube API v3和资源
播放列表.list

使用此参数可获取频道的所有播放列表ID:

part: 'snippet'
channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw'
part: 'snippet'
playlistId: 'PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn'
您可以获得所有播放列表id

"items": [
  {
   "kind": "youtube#playlist",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/sxN5XCGvIn_Rnsan74s_A_k16L8\"",
   "id": "PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn",
"items": [
  {
   "kind": "youtube#playlistItem",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/WFwMbOGG8nLHKF8tH1W41WNFJBk\"",
   "id": "UExPVTJYTFl4bXNJS1hZUl8zaU9Xbkk0aDFEb19hYThkbi41NkI0NEY2RDEwNTU3Q0M2",
   "snippet": {
    "publishedAt": "2016-04-18T17:33:55.000Z",
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "title": "#Love4Dev - What Magnus Hyttsten loves most about the power of mobile APIs",
现在步骤3

使用YouTube API v3和资源
播放列表.list

使用此参数将视频放入频道的播放ID:

part: 'snippet'
channelId: 'UC_x5XG1OV2P6uZZ5FSM9Ttw'
part: 'snippet'
playlistId: 'PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn'
您可以获得所有播放列表id

"items": [
  {
   "kind": "youtube#playlist",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/sxN5XCGvIn_Rnsan74s_A_k16L8\"",
   "id": "PLOU2XLYxmsIKXYR_3iOWnI4h1Do_aa8dn",
"items": [
  {
   "kind": "youtube#playlistItem",
   "etag": "\"kiOs9cZLH2FUp6r6KJ8eyq_LIOk/WFwMbOGG8nLHKF8tH1W41WNFJBk\"",
   "id": "UExPVTJYTFl4bXNJS1hZUl8zaU9Xbkk0aDFEb19hYThkbi41NkI0NEY2RDEwNTU3Q0M2",
   "snippet": {
    "publishedAt": "2016-04-18T17:33:55.000Z",
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "title": "#Love4Dev - What Magnus Hyttsten loves most about the power of mobile APIs",
你可以得到播放列表中的所有视频


重要的部分是第一步,用户只需输入他们频道的用户名,如我的示例所示:

在这里查看
forUserName
@阿切尔,我有一种感觉,我快要失明了。我会试一试……我相信它会奏效的。我会让你知道的我只是试了一下,但没用。我发现了这个问题,现在看来如果不使用OAuth是不可能的。很抱歉,这没有帮助。我在使用YTAPI时也遇到了问题,发现不能完成看似简单的任务令人沮丧。我最终将播放列表ID嵌入到链接中,以解决我的问题,但这显然不是答案。我希望你能把它整理好-祝你好运:)看看这里的
forUserName
@阿切尔,我有一种感觉,我快要失明了。我会试一试……我相信它会奏效的。我会让你知道的我只是试了一下,但没用。我发现了这个问题,现在看来如果不使用OAuth是不可能的。很抱歉,这没有帮助。我在使用YTAPI时也遇到了问题,发现不能完成看似简单的任务令人沮丧。我最终将播放列表ID嵌入到链接中,以解决我的问题,但这显然不是答案。我希望你能把它整理好——祝你好运:)