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."
}
]
}
]
}
}
Thanks @AlexDev404. Will read those docs over and try to make sense of the above discovery file.
Were you able to get this working?
I'm also just realizing this seems taylored to download/request all your files from Google Drive? I was particularly interested in being able to request any or all available services from Google Takeout.