Téléchargement de vidéos Threads et enregistrement des résultats dans Google Sheets
Ceci est unFile Managementworkflow d'automatisation du domainecontenant 19 nœuds.Utilise principalement des nœuds comme If, Wait, FormTrigger, GoogleDrive, HttpRequest. Télécharger des vidéos Threads et enregistrer les résultats dans Google Sheets
- •Informations d'identification Google Drive API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
Nœuds utilisés (19)
Catégorie
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "a1b4a7ad-efec-4a7c-a7d0-057b01cae303",
"name": "À la soumission du formulaire",
"type": "n8n-nodes-base.formTrigger",
"position": [
848,
592
],
"webhookId": "99c989d4-d7e6-42d9-9f05-5235e2624149",
"parameters": {
"options": {},
"formTitle": "Threads Downloader",
"formFields": {
"values": [
{
"fieldLabel": "URL",
"placeholder": "https://www.threads.net",
"requiredField": true
}
]
},
"formDescription": "Threads Downloader"
},
"typeVersion": 2.2
},
{
"id": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
"name": "Récupérer les données vidéo Threads",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1072,
592
],
"parameters": {
"url": "https://threads-downloader1.p.rapidapi.com/threads.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": "threads-downloader1.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "d069c2dc-7576-478f-8510-4beb55871bff",
"name": "Vérifier si la vidéo existe",
"type": "n8n-nodes-base.if",
"position": [
1360,
608
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bcc58e3d-9609-4ec3-adb9-bc6098205818",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.video_urls[0].download_url }}",
"rightValue": "success"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
"name": "Télécharger le fichier vidéo Threads",
"type": "n8n-nodes-base.httpRequest",
"position": [
1632,
320
],
"parameters": {
"url": "={{ $json.video_urls[0].download_url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
"name": "Téléverser la vidéo vers Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1888,
304
],
"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": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
"name": "Définir les permissions de partage Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
2192,
304
],
"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": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
"name": "Enregistrer la réussite dans Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2528,
384
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $('On form submission').item.json.URL }}",
"Drive_URL": "={{ $('Upload Video 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": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
"name": "Attendre avant d'enregistrer l'échec",
"type": "n8n-nodes-base.wait",
"position": [
1712,
848
],
"webhookId": "410a255f-0e20-4697-9584-b59829a5bfb8",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
"name": "Enregistrer l'échec du téléchargement dans Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2192,
848
],
"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": "4ce0b5c3-f2aa-4a40-8430-5dbda2c4d791",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
464
],
"parameters": {
"height": 272,
"content": "Triggers the workflow when a user submits a URL through the form."
},
"typeVersion": 1
},
{
"id": "24997fd1-523a-46fc-8ef2-294b4fe148f3",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
464
],
"parameters": {
"height": 272,
"content": "Sends the submitted URL to the Threads Downloader API to retrieve video data."
},
"typeVersion": 1
},
{
"id": "6479a5f8-34a8-41aa-b252-150c08be5cb0",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1296,
496
],
"parameters": {
"height": 256,
"content": "Checks if the API returned a valid video download URL."
},
"typeVersion": 1
},
{
"id": "4d12f8a3-6e47-4186-a864-944ac53f20b0",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
240
],
"parameters": {
"height": 240,
"content": " Downloads the video file from the provided download URL."
},
"typeVersion": 1
},
{
"id": "a4c56692-00f3-48ec-8fac-c0fa7d872212",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
240
],
"parameters": {
"height": 240,
"content": "Uploads the downloaded video to a specified Google Drive folder."
},
"typeVersion": 1
},
{
"id": "741dbb91-6575-4ed7-888d-548a81c017f6",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
240
],
"parameters": {
"height": 240,
"content": "Sets the uploaded file’s sharing settings so it’s accessible via a link."
},
"typeVersion": 1
},
{
"id": "dc7491b4-1fca-4384-b0ad-137baa4f5e42",
"name": "Note adhésive6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2432,
288
],
"parameters": {
"height": 224,
"content": "Records the original URL and Google Drive link of successfully downloaded videos."
},
"typeVersion": 1
},
{
"id": "655f8026-7973-4fcd-8996-ddb074e1409c",
"name": "Note adhésive7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1648,
736
],
"parameters": {
"height": 256,
"content": "Adds a pause before logging failed downloads to avoid timing issues."
},
"typeVersion": 1
},
{
"id": "23b570fb-1b5b-4af6-90e9-ff52fa18842f",
"name": "Note adhésive8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
752
],
"parameters": {
"height": 240,
"content": "Logs the original URL with “N/A” for failed video downloads."
},
"typeVersion": 1
},
{
"id": "72e23121-48bc-47f3-8311-3f1a7259bb5e",
"name": "Note adhésive9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-256,
256
],
"parameters": {
"width": 800,
"height": 912,
"content": "# Threads Video Downloader & Google Drive Logger\n\n Automates downloading videos from Threads URLs, uploads them to Google Drive, and logs success or failure in Google Sheets.\n\n---\n\n## Workflow Overview\n\n1. **Form Submission** \n User submits a Threads URL via a web form, triggering the workflow.\n\n2. **Fetch Video Data** \n Sends the submitted URL to the Threads Downloader API to retrieve video information.\n\n3. **Check Video Availability** \n Verifies if a valid downloadable video URL is returned.\n\n4. **Download Video** \n Downloads the video from the API-provided URL.\n\n5. **Upload to Google Drive** \n Uploads the video to a designated Google Drive folder.\n\n6. **Set Sharing Permissions** \n Makes the uploaded video accessible via a shareable link.\n\n7. **Log Success** \n Records the original URL and Drive link in Google Sheets for successful downloads.\n\n8. **Handle Failures** \n Waits briefly and logs URLs with \"N/A\" in Google Sheets for failed downloads.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"a1b4a7ad-efec-4a7c-a7d0-057b01cae303": {
"main": [
[
{
"node": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
"type": "main",
"index": 0
}
]
]
},
"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
}
]
]
},
"6510719b-49cf-4264-985b-1ed5b98b1a9f": {
"main": [
[
{
"node": "d069c2dc-7576-478f-8510-4beb55871bff",
"type": "main",
"index": 0
}
]
]
},
"01d9dd0c-4370-4ecf-8df3-55de50bb09b7": {
"main": [
[
{
"node": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
"type": "main",
"index": 0
}
]
]
},
"05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e": {
"main": [
[
{
"node": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
"type": "main",
"index": 0
}
]
]
},
"ddde32c8-f9dc-40cf-8180-b232bb40d6a8": {
"main": [
[
{
"node": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
"type": "main",
"index": 0
}
]
]
},
"5e5256dd-e767-484d-8b4f-c0dc62b71f9d": {
"main": [
[
{
"node": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Gestion de fichiers
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Sk developer
@skdeveloperPartager ce workflow