我在尝试使用 PHP 和 Dropbox API 上传文件时遇到问题。当 cURL 执行时,我得到一个找不到页面的错误。这表明存在 URL 问题,但我看不出它是错误的。
该文件存在并且所有 OAuth 都在工作。
错误截图:
这是正在使用的代码 - 我在这里遗漏了什么吗?
$filePathName = "/path_to_file/my_image.png";
$url = "https://api-content.dropbox.com/1/files_put/sandbox/my_folder/my_image.png";
$headers = array("Content-Type: ".mime_content_type($filePathName)."\r\nContent-Length: ".filesize($filePathName)."\r\n".
"Authorization: OAuth oauth_version=\"1.0\", oauth_signature_method=\"PLAINTEXT\", oauth_consumer_key=\"".DROPBOX_APP_KEY."\", oauth_token=\"".DROPBOX_OAUTH_ACCESS_TOKEN."\", oauth_signature=\"".DROPBOX_APP_SECRET."&".DROPBOX_OAUTH_ACCESS_SECRET."\""
);
$fh = fopen($filePathName, "rb");
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_INFILE, $fh);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($filePathName));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$apiResponse = curl_exec($ch);
fclose($fh);
die("Response:<br />".$apiResponse);