Copying video files from Vimeo to Google Drive

n8n on MacOS desktop.

I am new to n8n (1 day!) and not a coder, but reasonably proficient with Make/Integromat and Zapier. I have been able to build a workflow that downloads a video file from Vimeo and saves it to the filesystem (binaryData folder). I overcame the size issue by setting the relevant ENV variable to use the filesystem and not persist in memory.

I am now struggling to connect the downloaded file to the input of a Google Drive node to upload it. If I chose the non-Binary Data option then a file with the right name does arrive in My Drive but is empty.

If I switch to Binary Data, then various errors are thrown depending on what expression I use for the Binary property.

Leave it set to ‘data’ and “invalid array length” is the error.

Set the expression to pick up the Binary>data>id property (e.g. filesystem:74_dc9a6882-4395-48aa-bbf9-974d78af7ac5) and that errors with “No binary data property filesystem:74_dc9a6882-4395-48aa-bbf9-974d78af7ac5 does not exist on item!”

I am wondering if I need to point to the persistMeta folder somehow?

I cannot find anything in the documentation, so looking for help/advice here.

Thanks in advance.

Information on your n8n setup

  • 1.7.0
  • *SQLLite

Hey @imptwo,

Welcome to the community :raised_hands:

I was going to take a look at the options you set in your workflow but you have shared a screenshot rather than the workflow itself, Would you be able to post the json?

Normally it would just be a case of using the binary data object name so if the title from the previous node is data that would be all you need to type in.

Thanks Jon, I appreciate the welcome. :slight_smile:

Here is the JSON from the workflow:

{
“name”: “Vimeo download test”,
“nodes”: [
{
“parameters”: {},
“id”: “5f760daf-8fcb-40c2-a372-816cc1397049”,
“name”: “Start”,
“type”: “n8n-nodes-base.start”,
“typeVersion”: 1,
“position”: [
180,
240
]
},
{
“parameters”: {
“sheetId”: “1eZfz5Ltljl3BfqKg15RGys2lVCawL8HcN1HAYc7YXw4”,
“options”: {}
},
“id”: “c364b670-75ff-4a6f-b20a-79d92be2a445”,
“name”: “Google Sheets”,
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 2,
“position”: [
400,
240
],
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “3”,
“name”: “Google Sheets account”
}
}
},
{
“parameters”: {
“conditions”: {
“number”: [
{
“value1”: “={{$json["Video ID"]}}”,
“operation”: “equal”,
“value2”: 152666887
}
]
}
},
“id”: “0d47fcbe-4ae4-4fff-9f3f-a42acdd56fa6”,
“name”: “IF”,
“type”: “n8n-nodes-base.if”,
“typeVersion”: 1,
“position”: [
620,
240
]
},
{
“parameters”: {
“url”: “={{$json["Download URL"]}}”,
“sendQuery”: true,
“queryParameters”: {
“parameters”: [
{
“name”: “loc”,
“value”: “external”
},
{
“name”: “signature”,
“value”: “272298b7dd40b5ef3dc75f132f4498c162484444d87419ec9d583fc32367810b”
}
]
},
“options”: {
“redirect”: {
“redirect”: {
“followRedirects”: true
}
},
“response”: {
“response”: {
“responseFormat”: “file”,
“outputPropertyName”: “=data”
}
}
}
},
“id”: “43b0866c-5428-4291-80c5-87ed93ab593e”,
“name”: “HTTP Request1”,
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 3,
“position”: [
860,
160
]
},
{
“parameters”: {
“binaryData”: true,
“name”: “={{$json["Video Title"]}}”,
“resolveData”: true,
“options”: {}
},
“id”: “1d2ae2ba-bd2c-4cbd-8ec7-26eca3bf8faf”,
“name”: “Google Drive”,
“type”: “n8n-nodes-base.googleDrive”,
“typeVersion”: 2,
“position”: [
1140,
160
],
“credentials”: {
“googleDriveOAuth2Api”: {
“id”: “2”,
“name”: “Google Drive account”
}
}
}
],
“pinData”: {},
“connections”: {
“Start”: {
“main”: [
[
{
“node”: “Google Sheets”,
“type”: “main”,
“index”: 0
}
]
]
},
“Google Sheets”: {
“main”: [
[
{
“node”: “IF”,
“type”: “main”,
“index”: 0
}
]
]
},
“IF”: {
“main”: [
[
{
“node”: “HTTP Request1”,
“type”: “main”,
“index”: 0
}
]
]
},
“HTTP Request1”: {
“main”: [
[
{
“node”: “Google Drive”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“active”: false,
“settings”: {},
“id”: 3,
“meta”: {
“instanceId”: “28bef94ebf591e90e757537fe06c4d9e2fcdc27408e187be5a35f27b1d62efbb”
},
“tags”: []
}

More information from further testing…

It seems to be size related. Files under 100Mb are transferred to Google Drive successfully. Files over 200Mb appear to return the ‘array length’ error.

Currently testing with files of in-between sizes and they seem to get ‘stuck’ and the workflow does not complete.

Hi, any update on this case? I received the same error “invalid array length”, when trying to upload a ZIP file of 400MB to Google Drive.

Thanks!

I post here the n8n workflow:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.