๐ ๋ชจ๋ YouTube ํ๋ ์ด๋ฆฌ์คํธ๋ฅผ ํ๋์ ์ฑ๋์์ ๋ค๋ฅธ ์ฑ๋๋ก ๋ณต์ฌ
์ด๊ฒ์Other, Building Blocks, Marketing๋ถ์ผ์์๋ํ ์ํฌํ๋ก์ฐ๋ก, 16๊ฐ์ ๋ ธ๋๋ฅผ ํฌํจํฉ๋๋ค.์ฃผ๋ก Set, Merge, Filter, YouTube, ManualTrigger ๋ฑ์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ๋ฉฐ. ๐ YouTube ํ๋ ์ด๋ฆฌ์คํธ๋ฅผ ํ๋์ ์ฑ๋์์ ๋ค๋ฅธ ์ฑ๋๋ก ๋ณต์ฌํฉ๋๋ค
- โขํน๋ณํ ์ฌ์ ์๊ตฌ์ฌํญ ์์ด ๊ฐ์ ธ์ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค
์ฌ์ฉ๋ ๋ ธ๋ (16)
์นดํ ๊ณ ๋ฆฌ
{
"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": "โTest workflowโ ํด๋ฆญ ์",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1060,
180
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5dd198e6-4558-4236-9ed5-b1d44305e0e3",
"name": "๋น๊ณต๊ฐ ํญ๋ชฉ ์ ๊ฑฐ",
"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": "์ฌ์๋ชฉ๋ก 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": "๋์์ 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": "๋์ผ ํญ๋ชฉ์์ ์ฌ์๋ชฉ๋ก๊ณผ ๋์์ ID ๊ฒฐํฉ",
"type": "n8n-nodes-base.merge",
"position": [
480,
80
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.1
},
{
"id": "ac018739-a908-43ef-8e4a-4ce4af2f00a2",
"name": "์๋ณธ ์ฑ๋์ ๋ชจ๋ ์ฌ์๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ",
"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": "์๋ณธ ์ฌ์๋ชฉ๋ก์ ํญ๋ชฉ ๊ฐ์ ธ์ค๊ธฐ",
"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": "๋์ ์ฑ๋์ ์ ์ฌ์๋ชฉ๋ก ์์ฑ",
"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": "๋์ ์ฌ์๋ชฉ๋ก์ ํญ๋ชฉ ์ถ๊ฐ",
"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": "ํ๋ ์ ์ ํ ํฌ๋งท",
"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": "์คํฐ์ปค ๋ฉ๋ชจ",
"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": "์คํฐ์ปค ๋ฉ๋ชจ1",
"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": "์คํฐ์ปค ๋ฉ๋ชจ2",
"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": "์คํฐ์ปค ๋ฉ๋ชจ3",
"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": "์คํฐ์ปค ๋ฉ๋ชจ4",
"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": "์ฌ์๋ชฉ๋ก ์ํ ์ฒ๋ฆฌ",
"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)๋ ์ฌ์ฉ์ ์ง์ ๋น์ฉ์ ์ง๋ถํด์ผ ํ ์ ์์ต๋๋ค.
๊ด๋ จ ์ํฌํ๋ก์ฐ ์ถ์ฒ
Lucรญa Maio Brioso
@luciambI'm a backend software developer who loves n8n โ๏ธ I enjoy automating everything and share templates I personally find helpful ๐ก
์ด ์ํฌํ๋ก์ฐ ๊ณต์