Batch-Download von wasserfreien TikTok-Videos zu Google Drive und Tracking

Experte

Dies ist ein File Management-Bereich Automatisierungsworkflow mit 21 Nodes. Hauptsächlich werden Wait, GoogleDrive, HttpRequest, GoogleSheets, ManualTrigger und andere Nodes verwendet. Batch-Download von wasserfreien TikTok-Videos zu Google Drive mit Nachverfolgung

Voraussetzungen
  • Google Drive API-Anmeldedaten
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d8e13620-5f29-402d-a816-5df35fd547f8",
      "name": "Warten",
      "type": "n8n-nodes-base.wait",
      "position": [
        760,
        -100
      ],
      "webhookId": "2e47d208-0316-420c-ba13-413830692e5c",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "f073c57a-a84e-4ccd-8659-26c5c93d4b71",
      "name": "Bei Klick auf 'Workflow ausführen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -280,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4af76036-000e-4810-8f9c-9e2140e17e91",
      "name": "Über Elemente iterieren",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        240,
        -120
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "e3b8f1ff-2d24-4da8-87e5-488f00a29540",
      "name": "Daten aus Google Sheets abrufen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        0,
        -120
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "0720d3ae-e6ca-408b-a1dc-8e8849689362",
      "name": "Zeile in Google Sheet aktualisieren",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1840,
        240
      ],
      "parameters": {
        "columns": {
          "value": {
            "url": "={{ $('Loop Over Items').item.json.url }}",
            "driveurl": "={{ $('Upload File In Google Drive').item.json.webViewLink }}"
          },
          "schema": [
            {
              "id": "url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "driveurl",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "driveurl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "url"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "8ccbdb10-a104-4222-899b-3c933c3caa09",
      "name": "Öffentliche Berechtigung für Google Drive setzen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1600,
        -100
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "{{ $json.id }}"
        },
        "options": {},
        "operation": "share",
        "permissionsUi": {
          "permissionsValues": {
            "role": "writer",
            "type": "anyone"
          }
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "2b0243db-ef2f-4dcc-b3ea-bd47a33b648c",
      "name": "Datei in Google Drive hochladen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1300,
        -100
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "Rt0RWApx8PL9t0RF",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a144ebf4-7c58-460e-98fc-c4096af53a76",
      "name": "Datei herunterladen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1000,
        -100
      ],
      "parameters": {
        "url": "={{ $json.medias[1].url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "173c8163-89bb-4bee-bf2f-ada26ac54686",
      "name": "TikTok Downloader aufrufen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        500,
        -100
      ],
      "parameters": {
        "url": "https://tiktok-video-downloader23.p.rapidapi.com/index.php",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "tiktok-video-downloader23.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f8802a61-f2bc-4253-aacb-b505305c366b",
      "name": "Sleep",
      "type": "n8n-nodes-base.wait",
      "position": [
        100,
        180
      ],
      "webhookId": "45167751-8beb-42e3-8295-bcc5d9aa8379",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "c4525392-469c-48e4-aa1d-f8e48f8f5b1f",
      "name": "Notizzettel",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1100,
        -400
      ],
      "parameters": {
        "width": 560,
        "height": 1280,
        "content": "# 📥 Bulk TikTok Video Downloader & Google Drive Uploader\n\n## 🔄 What This Flow Does\n> **Automatically downloads TikTok videos from a list of URLs in a Google Sheet, uploads them to Google Drive, makes the videos publicly accessible, and updates the Google Sheet with the new Google Drive links.**\n\n---\n\n## ✅ Benefits of This Flow\n\n- 🚀 **Fully automated**: No manual downloads, uploads, or updates.\n- 🧾 **Centralized tracking**: Keeps original TikTok URLs and uploaded Google Drive links in the same Google Sheet.\n- 🔁 **Batch processing**: Processes multiple videos with loop handling and delays.\n- 🔓 **Public access**: Files are automatically set to public in Google Drive.\n- ⏱️ **Time-saving**: Reduces hours of manual work to a few minutes.\n- 👥 **Team-friendly**: Any team member can add a link to the sheet and get a Drive URL back.\n\n---\n\n## 🛠️ Challenges Solved by This Workflow\n\n| ❌ Problem                              | ✅ Solution Provided by Flow                         |\n|----------------------------------------|------------------------------------------------------|\n| Manual TikTok video downloads          | Automated via external API                          |\n| Tedious Google Drive uploads           | Automated upload with public permission             |\n| No easy sharing of video files         | Google Drive shareable link generated and updated   |\n| Lack of tracking processed items       | Google Sheet updated with each Drive URL            |\n| High risk of human error               | Fully systemized with minimal manual touchpoints    |\n\n---\n\n## 🧩 Core Components \n\n- **Manual Trigger** – Starts the workflow manually.\n- **Get Data From Google Sheets** – Fetches TikTok URLs from a sheet.\n- **Loop Over Items** – Iterates over each URL one at a time.\n- **Call TikTok Downloader** – Uses an API to get the downloadable video link.\n- **Wait** – Adds delay before downloading to avoid rate limits.\n- **Download File** – Downloads the TikTok video file.\n- **Upload File In Google Drive** – Uploads the video to your Google Drive.\n- **Set Public Permission Google Drive** – Makes the uploaded file publicly accessible.\n- **Update Row In Google Sheet** – Updates the original sheet with the new Drive link.\n- **Sleep** – Adds delay between batches for reliability.\n\n---\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c16eae53-3bf3-4bb3-b597-48529db0eb66",
      "name": "Notizzettel1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -340,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## 🟢 When clicking ‘Execute workflow’\nManually triggers the workflow for testing or running on-demand."
      },
      "typeVersion": 1
    },
    {
      "id": "74b004c2-cb7b-44ad-8f37-4b81035b0aef",
      "name": "Notizzettel2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## 📄 Get Data From Google Sheets\nReads all rows from a specific Google Sheet containing TikTok video URLs."
      },
      "typeVersion": 1
    },
    {
      "id": "2f07afba-7af0-4886-996a-3229220e97ac",
      "name": "Notizzettel3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## 🔁 Loop Over Items\nProcesses each row from the sheet one-by-one (batch looping).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6a2f0708-f5ea-4899-beaf-e9b1cb2eee2d",
      "name": "Notizzettel4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        440,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## 🌐 Call TikTok Downloader\nSends each TikTok URL to the RapidAPI TikTok downloader to get a direct video download link."
      },
      "typeVersion": 1
    },
    {
      "id": "225452d1-8be6-4822-ba27-2f179c36a509",
      "name": "Notizzettel5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## ⏳ Wait\nAdds a short pause before downloading the file (helps prevent rate-limiting)."
      },
      "typeVersion": 1
    },
    {
      "id": "f7da773d-d280-4bc9-b9cd-a3359ec0853d",
      "name": "Notizzettel6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## ⬇️ Download File\nDownloads the video from the `medias[1].url` provided by the TikTok downloader API."
      },
      "typeVersion": 1
    },
    {
      "id": "d10bb3cd-edc4-4362-b053-ba3aa227ffda",
      "name": "Notizzettel7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## ☁️ Upload File In Google Drive\nUploads the downloaded video to Google Drive in the root folder."
      },
      "typeVersion": 1
    },
    {
      "id": "769120e2-9a9e-46a1-a259-936c8825d6fb",
      "name": "Notizzettel8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1480,
        -260
      ],
      "parameters": {
        "height": 300,
        "content": "## 🔓 Set Public Permission Google Drive\nMakes the uploaded video file publicly accessible by setting sharing permissions.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bccf0a40-54df-4a80-9f55-3383d78e4d58",
      "name": "Notizzettel9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1780,
        80
      ],
      "parameters": {
        "height": 300,
        "content": "## ✏️ Update Row In Google Sheet\nUpdates the same row in the sheet by matching `url`, adding the new Drive `webViewLink` in the `driveurl` column.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f9278864-e0bf-4d6d-8841-3ce87c2e1546",
      "name": "Notizzettel10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        80
      ],
      "parameters": {
        "height": 260,
        "content": "## 💤 Sleep\nPauses briefly and loops back to process the next TikTok URL in the list."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d8e13620-5f29-402d-a816-5df35fd547f8": {
      "main": [
        [
          {
            "node": "a144ebf4-7c58-460e-98fc-c4096af53a76",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f8802a61-f2bc-4253-aacb-b505305c366b": {
      "main": [
        [
          {
            "node": "4af76036-000e-4810-8f9c-9e2140e17e91",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a144ebf4-7c58-460e-98fc-c4096af53a76": {
      "main": [
        [
          {
            "node": "2b0243db-ef2f-4dcc-b3ea-bd47a33b648c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4af76036-000e-4810-8f9c-9e2140e17e91": {
      "main": [
        [],
        [
          {
            "node": "173c8163-89bb-4bee-bf2f-ada26ac54686",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "173c8163-89bb-4bee-bf2f-ada26ac54686": {
      "main": [
        [
          {
            "node": "d8e13620-5f29-402d-a816-5df35fd547f8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0720d3ae-e6ca-408b-a1dc-8e8849689362": {
      "main": [
        [
          {
            "node": "f8802a61-f2bc-4253-aacb-b505305c366b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e3b8f1ff-2d24-4da8-87e5-488f00a29540": {
      "main": [
        [
          {
            "node": "4af76036-000e-4810-8f9c-9e2140e17e91",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b0243db-ef2f-4dcc-b3ea-bd47a33b648c": {
      "main": [
        [
          {
            "node": "8ccbdb10-a104-4222-899b-3c933c3caa09",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8ccbdb10-a104-4222-899b-3c933c3caa09": {
      "main": [
        [
          {
            "node": "0720d3ae-e6ca-408b-a1dc-8e8849689362",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f073c57a-a84e-4ccd-8659-26c5c93d4b71": {
      "main": [
        [
          {
            "node": "e3b8f1ff-2d24-4da8-87e5-488f00a29540",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Dateiverwaltung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes21
Kategorie1
Node-Typen7
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34