PHPでGoogleドライブにファイルをアップロードしようとしています。
認証コードには、次のスコープを使用しています。
https://www.googleapis.com/auth/drive
https://docs.google.com/feeds/
https://docs.googleusercontent.com/
https://spreadsheets.google.com/feeds/
私はすでに有効な を受け取っており、それを使用していつでもrefresh_token
新しい を取得できます。access_token
問題は、これを使用してアップロードを実行しようとしているときですaccess_token
(期限切れではなく、まだ使用されていません)。
stdClass Object
(
[error] => stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[domain] => global
[reason] => required
[message] => Login Required
[locationType] => header
[location] => Authorization
)
)
[code] => 401
[message] => Login Required
)
)
次のヘッダーでcurlを使用しています:
Array
(
[0] => Content-Type: text/plain
[1] => Content-Length: 503242
[2] => Authorization: Bearer ya29.AHES6ZRWXZkZDDi6AFV9PK2QonHp93nIfJbYqipXFT1uCsg
[3] => GData-Version: 3.0
)
また、次の URL:
https://www.googleapis.com/upload/drive/v2/files?uploadType=media
CURL コマンドは次のようになります。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADERS, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file));
$return = curl_exec($ch);
curl_close($ch);
どんな助けでも心から感謝します...前もって感謝します...