TikTokの動画を署名なしでGoogle Driveにダウンロードし、テーブルに自動記録

上級

これはContent Creation, Miscellaneous, Multimodal AI分野の自動化ワークフローで、19個のノードを含みます。主にIf, Wait, FormTrigger, GoogleDrive, HttpRequestなどのノードを使用。 TikTokの動画を無 watermark 版でGoogleドライブにダウンロードし、自動のにテーブルにログを記録

前提条件
  • Google Drive API認証情報
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
  },
  "nodes": [
    {
      "id": "a1b4a7ad-efec-4a7c-a7d0-057b01cae303",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        840,
        580
      ],
      "webhookId": "99c989d4-d7e6-42d9-9f05-5235e2624149",
      "parameters": {
        "options": {},
        "formTitle": "TikTok to MP4",
        "formFields": {
          "values": [
            {
              "fieldLabel": "URL",
              "placeholder": "https://tiktok.com/",
              "requiredField": true
            }
          ]
        },
        "formDescription": "TikTok to MP4 Converter"
      },
      "typeVersion": 2.2
    },
    {
      "id": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2520,
        380
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ $('On form submission').item.json.URL }}",
            "Drive_URL": "={{ $('Upload To Google Drive').item.json.webViewLink }}"
          },
          "schema": [
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Drive_URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Drive_URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "URL"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "qUtlCnYpk7bXXaYp",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "d069c2dc-7576-478f-8510-4beb55871bff",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1360,
        600
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bcc58e3d-9609-4ec3-adb9-bc6098205818",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "success"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        1700,
        840
      ],
      "webhookId": "410a255f-0e20-4697-9584-b59829a5bfb8",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
      "name": "Google Drive Set Permission",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2180,
        300
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "resource": "file",
        "operation": "share",
        "permissionsUi": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "qEkQ8MFn0uSHgAqY",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
      "name": "Upload To Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1880,
        300
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "qEkQ8MFn0uSHgAqY",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
      "name": "Google Sheets Append Row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2180,
        840
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "{{ $('On form submission').item.json.URL }}",
            "Drive_URL": "N/A"
          },
          "schema": [
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Drive_URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Drive_URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "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": "92be8d5e-d47f-40a3-b376-0266b0dfb736",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        300
      ],
      "parameters": {
        "height": 500,
        "content": "## 🟢 **1. On form submission**\n- **Purpose:** Acts as the trigger for the workflow.  \n- **Functionality:** Displays a form with a single field (`URL`) where users can enter the TikTok video link.  \n- **Output:** Passes the entered URL to the next node for processing."
      },
      "typeVersion": 1
    },
    {
      "id": "d4c2cf21-bd6a-4976-acc0-9646ab3a9715",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1020,
        300
      ],
      "parameters": {
        "height": 500,
        "content": "## 🌐 **2. Tiktok RapidAPI Request**\n- **Purpose:** Fetch downloadable MP4 link.  \n- **Functionality:** Sends a `POST` request to **Tiktok Video Downloader API**, passing the URL from the form.  \n- **Output:** Receives a JSON response containing downloadable media links.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c02f3615-b35d-4caf-a7e7-c326f53c9465",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1300,
        300
      ],
      "parameters": {
        "height": 500,
        "content": "## 🔍 **3. If**\n- **Purpose:** Check for API errors.  \n- **Functionality:** Evaluates if the response contains an `error` field.  \n- **Output:** \n  - ✅ **True Path:** Proceeds to download the MP4.  \n  - ❌ **False Path:** Goes to error handling (Wait + Sheets logging).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fe2137e0-14ad-4a31-8104-e451fd5510b0",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1560,
        60
      ],
      "parameters": {
        "height": 440,
        "content": "## ⬇️ **4. MP4 Downloader**\n- **Purpose:** Download the video file.  \n- **Functionality:** Uses the media URL from the previous API response to download the MP4 video.  \n- **Output:** Stores the raw MP4 binary for upload.\n\n-"
      },
      "typeVersion": 1
    },
    {
      "id": "59292dcb-737c-4efb-9b22-8fb1e9a25274",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1820,
        60
      ],
      "parameters": {
        "height": 400,
        "content": "## ☁️ **5. Upload To Google Drive**\n- **Purpose:** Store video in Google Drive.  \n- **Functionality:** Uploads the downloaded MP4 into the specified Drive folder.  \n- **Output:** Returns a file ID for the uploaded file.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6b72288e-a3f4-45cd-bade-54630124121e",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2100,
        60
      ],
      "parameters": {
        "height": 380,
        "content": "## 🔑 **6. Google Drive Set Permission**\n- **Purpose:** Make the file publicly accessible.  \n- **Functionality:** Sets file permissions to `Anyone with the link can view`.  \n- **Output:** Provides a sharable `webViewLink`.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "48c35706-eb6e-4d20-8e2e-dd1b4de27b1a",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2440,
        80
      ],
      "parameters": {
        "height": 460,
        "content": "## 📄 **7. Google Sheets**\n- **Purpose:** Log successful conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Tiktok link  \n  - `Drive_URL` → Sharable Google Drive MP4 link  \n- **Output:** Saves a permanent log of successful downloads."
      },
      "typeVersion": 1
    },
    {
      "id": "9d828c99-d634-4bd7-9478-66960a243aca",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        600
      ],
      "parameters": {
        "height": 360,
        "content": "## ⏱️ **8. Wait**\n- **Purpose:** Delay before logging failures.  \n- **Functionality:** Pauses workflow execution to avoid instant sheet logging when API errors occur.  \n- **Output:** Prevents rapid consecutive writes to Google Sheets."
      },
      "typeVersion": 1
    },
    {
      "id": "fc3a67e7-1822-4f0e-ae4d-bab35bf3b94d",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2100,
        480
      ],
      "parameters": {
        "height": 480,
        "content": "## 📑 **9. Google Sheets Append Row**\n- **Purpose:** Log failed conversions.  \n- **Functionality:** Appends a row with:\n  - `URL` → Original Tiktok link  \n  - `Drive_URL` → `N/A` (indicating download failure)  \n- **Output:** Tracks failed attempts separately.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
      "name": "MP4 Downloader",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1620,
        320
      ],
      "parameters": {
        "url": "={{ $json.data[\"DOWNLOAD (WITHOUT WATERMARK)\"] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
      "name": "TikTok RapidAPI Request",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        1060,
        580
      ],
      "parameters": {
        "url": "https://tiktok-download-audio-video.p.rapidapi.com/mp3-4.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-download-audio-video.p.rapidapi.com"
            },
            {
              "name": "x-rapidapi-key",
              "value": "your key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4c89daff-9491-45b4-9d53-6231da674776",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -200,
        340
      ],
      "parameters": {
        "width": 720,
        "height": 560,
        "content": "# 📥 TikTok to MP4 Converter Automation\n\nThis **n8n** workflow automates the process of converting TikTok videos to MP4 format, uploading them to Google Drive, and logging the results into Google Sheets.\n\n## ✅ Features\n\n- 🔗 Accepts TikTok video URLs via a public form  \n- 🌐 Uses [RapidAPI TikTok Downloader](https://rapidapi.com/PrineshPatel/api/tiktok-download-audio-video) to fetch downloadable MP4 links  \n- ⬇️ Downloads the MP4 video (without watermark)  \n- ☁️ Uploads the video to Google Drive  \n- 🔓 Sets file permission to \"Anyone with the link can view\"  \n- 📄 Appends successful conversions (URL + Drive link) to Google Sheets  \n- ❌ Logs failed conversions with `Drive_URL` marked as `N/A`  \n- ⏱️ Includes a delay before logging failures to avoid rapid sheet writes  \n\n## 📊 Outputs\n\n- **Google Drive Link**: Publicly shareable MP4 video URL  \n- **Google Sheets Log**: Permanent record of all conversion attempts  \n\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d069c2dc-7576-478f-8510-4beb55871bff": {
      "main": [
        [
          {
            "node": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e": {
      "main": [
        [
          {
            "node": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "01d9dd0c-4370-4ecf-8df3-55de50bb09b7": {
      "main": [
        [
          {
            "node": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a1b4a7ad-efec-4a7c-a7d0-057b01cae303": {
      "main": [
        [
          {
            "node": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ddde32c8-f9dc-40cf-8180-b232bb40d6a8": {
      "main": [
        [
          {
            "node": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6510719b-49cf-4264-985b-1ed5b98b1a9f": {
      "main": [
        [
          {
            "node": "d069c2dc-7576-478f-8510-4beb55871bff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e5256dd-e767-484d-8b4f-c0dc62b71f9d": {
      "main": [
        [
          {
            "node": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - コンテンツ作成, その他, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

Instagram動画をフォームトリガーでGoogle Driveにダウンロードし、テーブルに記録
Instagram動画をフォームトリガーでGoogle Driveへダウンロードし、そしてテーブルへ記録
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 ノードEvoort Solutions
その他
画像 Transform AI、Google Sheets、および Google Driveを使用して画像を生成し、アップロードする
画像変換GPT、Google Sheets、Driveを使用して画像の生成・アップロード
If
Code
Wait
+
If
Code
Wait
23 ノードEvoort Solutions
コンテンツ作成
TikTok の文字起こし
RapidAPIとGoogle Sheetsを使ってTikTok動画の自動文字起こし
If
Code
Wait
+
If
Code
Wait
21 ノードEvoort Solutions
コンテンツ作成
記事構造の分析で主要出力を生成
RapidAPI AIを使ってGoogle スプレッドシートからリードマグネのクリエイティブを生成する
If
Wait
Http Request
+
If
Wait
Http Request
15 ノードEvoort Solutions
コンテンツ作成
Google Sheetsとメール通知を使用してタイトルの明確さを最適化する
Google Sheetsとメール通知によるタイトルの明確さの最適化
If
Code
Email Send
+
If
Code
Email Send
14 ノードEvoort Solutions
コンテンツ作成
WordPressブログの自動化プロフェッショナル版(先端研究)v2.1マーケットプラグイン
GPT-4o、Perplexity AI、そして多言語対応を使ったSEO最適化ブログ作成の自動化
If
Set
Xml
+
If
Set
Xml
125 ノードDaniel Ng
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数19
カテゴリー3
ノードタイプ7
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34