Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
Hi,
I have an app that uses https://api.dropboxapi.com/2/files/save_url/save_url endpoint to save urls from my ecommerce store to my dropbox. It was working fine early on locally bu as soon as I have deployed my script and check the logs after execution then this endpoint returns me a async_job_id which I use to check job status from https://api.dropboxapi.com/2/files/save_url/check_job_status and I get
function saveCustomilyOrders($dropboxURL, $accessToken, $customilyOrders)
{
$apiURL = $dropboxURL . '/2/files/save_url';
$headers = [
'Authorization: Bearer ' . $accessToken,
'Content-Type: application/json',
];
foreach ($customilyOrders as $customilyOrder) {
$path = $customilyOrder['path'];
$url = $customilyOrder['url'];
$payload = [
'path' => $path,
'url' => $url,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode == 200) {
//Do some logs
} elseif ($httpCode != 200) {
throw new Exception('something went wrong while saving customily orders to dropbox: ' . $httpCode . ' ' . $response);
}
sleep(5);
}
}
this is the snippet of function which I am using to /save_url enpoint.
Any suggestion in this issue will be highly appreciated as this is getting so much annyoying that it sometimes works and some times not and now its giving invalid_url again and again.
my json_encoded body looks like this in my curl request:
"{"path":"\/2023\/November\/#1123\/GP\/#1123_GK.eps","url":"https:\/\/cdn.customily.com\/ExportFile\/pf-dev-3\/b462fef1-aff5-42fa-aa77-f4eb0a6c7cce.eps"}"
@Greg-DB
if you can look into this.
Thanks.
Listening on 0.0.0.0 8080
Connection received on DN-12 57
POST /2/files/save_url HTTP/1.1
Host: MY_IP:8080
Accept: */*
Authorization: Bearer sl.<tokenhere>
Content-Type: application/json
Content-Length: 174
{"path":"/2023/November/#1138/GOLF-P-WE-AU-BLACK/#1138_GOLF-P-WE-AU-BLACK.eps","url":"https://cdn.customily.com/ExportFile/pf-dev-3/a79b3bc0-80a1-4e48-aae7-eab0edd4b54d.eps"}
this is what I got after running netcat on my local machine and redirecting queries to my local system.
@ABDUL Salam Thanks for sharing that. I just tried plugging in those exact values, and the file saved successfully for me. Are you still seeing this issue if you try those exact values?
The issue arises when I execute my script as a cron task on my hosting platform. This script performs the following tasks:
The same like in Greg's experiment, everything works as expected.
@ABDUL Salam wrote:... It was working fine early on locally bu as soon as I have deployed my script and check the logs after execution then this endpoint returns me a async_job_id which I use to check job status from https://api.dropboxapi.com/2/files/save_url/check_job_status and I get ...
@ABDUL Salam, In this context, do you redirect your call from local machine or from the place where you are trying to deploy your script (where it fails actually)? If you do it locally only,... ![]()
@ABDUL Salam wrote:... Interestingly, the same URL functions correctly when hardcoded in /save_url request parameter.
Do it in the same way when the request fails, not like when succeeds!
@Greg-DB Is there any way we can check what URL/OR params were passed to the job so that from its async_job_id we can see it in response? This currently generically gives a failed tag with invalid_url.
https://api.dropboxapi.com/2/files/save_url/check_job_status
@ABDUL Salam The Dropbox API does not offer a way to echo back the parameters/URL sent to /2/files/save_url.
As ŠŠ“ŃŠ°Š²ŠŗŠ¾ asked though, were you inspecting this in the actual environment where this is failing?
Hi there!
If you need more help you can view your support options (expected response time for a ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!