0

ファイルを Google ドライブにアップロードするときに問題が発生しましたが、その方法がわかりません。ファイルを正常に取得できますが、アップロードできません。

ここに私が持っているエラーがあります:

{ "error":
  { "errors":
    [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ],
    "code": 401, "message": "Invalid Credentials"
   }
}

ただし、アプリケーションをドライブ SDK に登録しており、ドライブ SDK クライアント ID を使用しています。また、トークンはドライブからファイルを取得するときに機能するため、有効です。

コードは次のとおりです。

function create_file($token){

$file = file_get_contents("mynewsuper.txt");
$length = strlen($file);
$url="https://www.googleapis.com/upload/drive/v2/files";
$header = array(


"Host: www.googleapis.com",
"Authorization:Oauth $token");
$ch = curl_init();

$post = array(
        "file"=>"@mynewsuper.txt",
    );
curl_setopt($ch,CURLOPT_URL,$url);
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,$post);


    $data = curl_exec($ch);

    echo $data;
}
4

0 に答える 0