0

我正在尝试使用 http 标头和 CURL 帖子将文件上传到谷歌驱动器,并且我从谷歌错误返回“未找到”。我认为这是因为我通过 CURL 上传文件的方式,因为我从来没有做过。这是我的代码:

$file = file_get_contents("./ima.jpg");
$length = strlen($file);
test($file,$length);

function test($file,$length){
$url2="https://www.googleapis.com/upload/drive/v2/filesuploadType=media";
$header = array(
"Content-Type: image/jpeg",
"Content-Length:$length ",
"Authorization: Bearer $token",
);

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url2);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,false);
curl_setopt ($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$file);
$data2 = curl_exec($ch);
echo $data2;
curl_close($ch);
}

令牌设置在变量令牌中,它是一个有效令牌,因为它适用于来自谷歌驱动器的列表文件,谢谢!

4

1 回答 1

2

uploadType是 URL 的参数,需要使用 分隔?,这意味着在您的情况下,URL 很可能是;

$url2="https://www.googleapis.com/upload/drive/v2/files?uploadType=media";

有关更详细的文档,请参见此处

于 2012-08-19T05:56:41.223 回答