Creating a Google Takeout export (specifically for Google Drive) requires this POST variable to be set.
[[["U5lrKc","[\"ac.t.st\",[[[\"drive\",[],[\"1AO8SZZvP1XJUPWk8iKMcT44heFqaHcjy\"],[]]],\"TGZ\",null,5,null,4294967295,1]]",null,"generic"]]]
The above is an example of a drive export. The [\"1AO8SZZvP1XJUPWk8iKMcT44heFqaHcjy\"]
is clearly a list of Drive ID's, \"TGZ\"
is the archive format (either 'TGZ' or 'ZIP') and 4294967295
is the size of the single archives.
["1073741824", "2147483648", "4294967295", "10737418240", "53687091200"]
)]}'
504
[["wrb.fr","U5lrKc","[\"ac.t.star\",[\"ac.t.ta\",\"e6be7f48-cdb1-4f9a-8c96-ba104e447b7b\",\"28 December 2019\",null,\"\",null,0,[[\"drive\",\"Drive\",\"https://www.gstatic.com/images/branding/product/1x/drive_32dp.png\",null,null,null,null,null,\"https://www.gstatic.com/images/branding/product/1x/drive_64dp.png\"]\n]\n,null,***0***,null,false,null,null,null,null,null,false,5,null,null,false,1577822939583,null,0]\n]\n",null,null,null,"generic"]
,["di",3352]
,["af.httprm",3351,"-3990804138194223976",29]
]
26
[["e",4,null,null,541]
]
The progress of your archive is given by the number surrounded by ***
in the above JSON. You can check on the status of the archive by polling:
https://takeout.google.com/u/1/_/TakeoutUi/data/batchexecute?rpcids=xxxxxx&f.sid=-xxxxxxxxxxxxxxxxxx&bl=boq_identityfrontenduiserver_20191215.19_p0&hl=en-GB&_reqid=xxxxxxx&rt=c
When you right-click and Download a folder in Drive, a request is made to the takeout endpoint. The JSON payload is:
POST https://takeout-pa.clients6.google.com/v1/exports?key=xxxxxxxxxxxxxxxxxxxxxxxxx
{"archiveFormat":"TGZ","archivePrefix":"6 prefix","conversions":null,"items":[{"id":"1Km3S2ZK3c_FRR1RHz2rvPJ1rEc21T1Hm"}],"locale":null}
Attempting to find the parameter which allows us to specify the archive size was a lot of brute forcing, with mostly these errors:
{
"error": {
"code": 400,
"message": "Invalid JSON payload received. Unknown name \"compressedSize\" at 'export_request': Cannot find field.",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "export_request",
"description": "Invalid JSON payload received. Unknown name \"compressedSize\" at 'export_request': Cannot find field."
}
]
}
]
}
}
I've uploaded my photos and videos to google drive (uploaded in original quality), and I want to download those medias in original quality with intact metadata. I'm looking for an api that does this and zips files which are not already zipped, and zips in chronological order.