0

httpヘッダーとCURL投稿を使用してファイルをGoogleドライブにアップロードしようとしていますが、Googleエラーから「見つかりません」が返されます。これは、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 に答える