8
n8n 中文网amn8n.com

🔁 将所有YouTube播放列表从一个频道复制到另一个频道

高级

这是一个Other, Building Blocks, Marketing领域的自动化工作流,包含 16 个节点。主要使用 Set, Merge, Filter, YouTube, ManualTrigger 等节点。 🔁 将YouTube播放列表从一个频道复制到另一个频道

前置要求
  • 无特殊前置要求,导入即可使用
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "liuPFewuxM0EKCHB",
  "meta": {
    "instanceId": "a059b3dfdab56aa587cc6a2c8635f6f2700cf0c7064dbfb5981c26f7ad9eab88",
    "templateCredsSetupCompleted": true
  },
  "name": "🔁 Copy all YouTube playlists from one channel to another",
  "tags": [],
  "nodes": [
    {
      "id": "8800e21d-1509-4343-bb38-35ade84e4a0d",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1060,
        180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5dd198e6-4558-4236-9ed5-b1d44305e0e3",
      "name": "Remove private items",
      "type": "n8n-nodes-base.filter",
      "position": [
        40,
        180
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "154d991a-b2aa-4764-b5d1-af43a58777db",
              "operator": {
                "type": "string",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.status.privacyStatus }}",
              "rightValue": "private"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d833d617-3d12-4853-968b-9675b2008351",
      "name": "Keep only the playlist id",
      "type": "n8n-nodes-base.set",
      "position": [
        260,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "88dd068e-6aa3-4b87-86a9-7509145efd4e",
              "name": "playlist_id",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d242e4b9-c40e-4708-8eaa-70a777bcc6ce",
      "name": "Keep only the video id",
      "type": "n8n-nodes-base.set",
      "position": [
        260,
        180
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "04d39c63-eb09-44a3-aca4-e6558bc831a3",
              "name": "video_id",
              "type": "string",
              "value": "={{ $json.contentDetails.videoId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "90da5397-e9f2-4f92-ab4d-74bd8ac5fece",
      "name": "Join the playlist and video id in the same item",
      "type": "n8n-nodes-base.merge",
      "position": [
        480,
        80
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.1
    },
    {
      "id": "ac018739-a908-43ef-8e4a-4ce4af2f00a2",
      "name": "Get all playlists from origin channel",
      "type": "n8n-nodes-base.youTube",
      "position": [
        -840,
        180
      ],
      "parameters": {
        "filters": {},
        "options": {},
        "resource": "playlist",
        "returnAll": true
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "bJCjudWjB0FmcvHu",
          "name": "YouTube account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "4e0a1f4f-19e3-4733-8915-0fcff3763dab",
      "name": "Get playlist items from original playlist",
      "type": "n8n-nodes-base.youTube",
      "position": [
        -180,
        180
      ],
      "parameters": {
        "part": [
          "contentDetails",
          "status"
        ],
        "options": {},
        "resource": "playlistItem",
        "operation": "getAll",
        "returnAll": true,
        "playlistId": "={{ $json.id }}"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "bJCjudWjB0FmcvHu",
          "name": "YouTube account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "fa3ff44c-ad35-43ce-8653-0304cf086365",
      "name": "Create new playlist in the target channel",
      "type": "n8n-nodes-base.youTube",
      "position": [
        40,
        -20
      ],
      "parameters": {
        "title": "={{ $json.title }}",
        "options": {},
        "resource": "playlist",
        "operation": "create"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "bJCjudWjB0FmcvHu",
          "name": "Sample YouTube account"
        }
      },
      "retryOnFail": false,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "5438bdbd-472d-4526-8617-cd3b25e9a469",
      "name": "Add items to target playlist",
      "type": "n8n-nodes-base.youTube",
      "onError": "continueRegularOutput",
      "position": [
        700,
        155
      ],
      "parameters": {
        "options": {},
        "videoId": "={{ $json.video_id }}",
        "resource": "playlistItem",
        "playlistId": "={{ $json.playlist_id }}"
      },
      "credentials": {
        "youTubeOAuth2Api": {
          "id": "bJCjudWjB0FmcvHu",
          "name": "Sample YouTube account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "2401dbbc-582a-48f9-bea9-5f6d1b0996b3",
      "name": "Format fields properly",
      "type": "n8n-nodes-base.set",
      "position": [
        -620,
        180
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0d59b712-8fdd-44cd-9759-f0fdd06dbf32",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "f36f4a16-6783-4da4-a9b6-993ca8f4e342",
              "name": "title",
              "type": "string",
              "value": "={{ $json.snippet.title }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f5429621-cde3-4c6d-a432-11c7e0e33508",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1060,
        -260
      ],
      "parameters": {
        "color": 3,
        "width": 880,
        "height": 400,
        "content": "## 🔁 COPY ALL YOUTUBE PLAYLISTS FROM ONE CHANNEL TO ANOTHER\n\n### ℹ️ ABOUT THIS WORKFLOW\nThis workflow will copy all user-created playlists from one YouTube channel to another.\n\n### 🛠️ SETUP\n1. Create two YouTube credentials: one for each channel.\n2. Add the credentials to the appropriate nodes, as indicated in the sticky notes next to them.\n3. Click \"Test workflow\" to run it.\n\n### ⚠️ KNOWN LIMITATIONS\n- Because of technical difficulties, this workflow doesn't copy the automatic playlists such as Watch Later or Liked Videos. I intend to update this workflow if these problems are resolved.\n- You should be aware of your YouTube API quota. This workflow can fail if you reach your quota, in which case, you should request an increase in your quota if possible."
      },
      "typeVersion": 1
    },
    {
      "id": "94d26808-fbec-4914-a100-7f78caa6f240",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -860,
        360
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "content": "## 👆👆👆\n## ADD YOUR ORIGIN CHANNEL CREDENTIAL HERE"
      },
      "typeVersion": 1
    },
    {
      "id": "58c42f5e-e403-4460-bf30-a8f61c96c8fc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        360
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "content": "## 👆👆👆\n## ADD YOUR ORIGIN CHANNEL CREDENTIAL HERE"
      },
      "typeVersion": 1
    },
    {
      "id": "25dba347-a6a4-4883-a2ac-c018665a8dfa",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        360
      ],
      "parameters": {
        "color": 2,
        "width": 260,
        "content": "## 👆👆👆\n## ADD YOUR TARGET CHANNEL CREDENTIAL HERE"
      },
      "typeVersion": 1
    },
    {
      "id": "b07f3c7d-dfa2-4e81-b195-091495ce0cd5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -200
      ],
      "parameters": {
        "color": 2,
        "width": 260,
        "content": "## ADD YOUR TARGET CHANNEL CREDENTIAL HERE\n## 👇👇👇"
      },
      "typeVersion": 1
    },
    {
      "id": "0604092e-965c-41a2-bc91-10f612a48f79",
      "name": "Loop over playlists",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -400,
        180
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6befe167-c7f6-42e0-8f9a-ff98888a3463",
  "connections": {
    "0604092e-965c-41a2-bc91-10f612a48f79": {
      "main": [
        [],
        [
          {
            "node": "4e0a1f4f-19e3-4733-8915-0fcff3763dab",
            "type": "main",
            "index": 0
          },
          {
            "node": "fa3ff44c-ad35-43ce-8653-0304cf086365",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5dd198e6-4558-4236-9ed5-b1d44305e0e3": {
      "main": [
        [
          {
            "node": "d242e4b9-c40e-4708-8eaa-70a777bcc6ce",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2401dbbc-582a-48f9-bea9-5f6d1b0996b3": {
      "main": [
        [
          {
            "node": "0604092e-965c-41a2-bc91-10f612a48f79",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d242e4b9-c40e-4708-8eaa-70a777bcc6ce": {
      "main": [
        [
          {
            "node": "90da5397-e9f2-4f92-ab4d-74bd8ac5fece",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "d833d617-3d12-4853-968b-9675b2008351": {
      "main": [
        [
          {
            "node": "90da5397-e9f2-4f92-ab4d-74bd8ac5fece",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5438bdbd-472d-4526-8617-cd3b25e9a469": {
      "main": [
        [
          {
            "node": "0604092e-965c-41a2-bc91-10f612a48f79",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8800e21d-1509-4343-bb38-35ade84e4a0d": {
      "main": [
        [
          {
            "node": "ac018739-a908-43ef-8e4a-4ce4af2f00a2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ac018739-a908-43ef-8e4a-4ce4af2f00a2": {
      "main": [
        [
          {
            "node": "2401dbbc-582a-48f9-bea9-5f6d1b0996b3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fa3ff44c-ad35-43ce-8653-0304cf086365": {
      "main": [
        [
          {
            "node": "d833d617-3d12-4853-968b-9675b2008351",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4e0a1f4f-19e3-4733-8915-0fcff3763dab": {
      "main": [
        [
          {
            "node": "5dd198e6-4558-4236-9ed5-b1d44305e0e3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "90da5397-e9f2-4f92-ab4d-74bd8ac5fece": {
      "main": [
        [
          {
            "node": "5438bdbd-472d-4526-8617-cd3b25e9a469",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 其他, 构建模块, 营销

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量16
分类3
节点类型7
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Lucía Maio Brioso

Lucía Maio Brioso

@luciamb

I'm a backend software developer who loves n8n ⚙️ I enjoy automating everything and share templates I personally find helpful 💡

外部链接
在 n8n.io 查看

分享此工作流

分类

分类: 34