Descargar videos de Threads y registrar los resultados en Google Sheets
Este es unFile Managementflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como If, Wait, FormTrigger, GoogleDrive, HttpRequest. Descargar videos de Threads y registrar los resultados en Google Sheets
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (19)
Categoría
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "a1b4a7ad-efec-4a7c-a7d0-057b01cae303",
"name": "Al enviar formulario",
"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": "Obtener datos de video de 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": "Verificar si existe el video",
"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": "Descargar archivo de video de 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": "Subir video a 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": "Establecer permisos de uso compartido de 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": "Registrar éxito en 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": "Esperar antes de registrar fallo",
"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": "Registrar descarga fallida en 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": "Nota adhesiva",
"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": "Nota adhesiva1",
"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": "Nota adhesiva2",
"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": "Nota adhesiva3",
"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": "Nota adhesiva4",
"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": "Nota adhesiva5",
"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": "Nota adhesiva6",
"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": "Nota adhesiva7",
"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": "Nota adhesiva8",
"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": "Nota adhesiva9",
"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
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Gestión de archivos
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Sk developer
@skdeveloperCompartir este flujo de trabajo