我有一个web表单,允许用户上传文件到我的服务器,我添加了一个按钮,让用户从他们的谷歌驱动器选择文件。
用户选择文件后,我得到该文件id,并得到该用户的oauthtoken。
我想把这个文件id和oauthtoken发送回我的服务器,并让我的服务器下载这个文件。
我在服务器上安装了google客户端库,并试图下载文件
这是我的代码:
$client = new Google_Client();
$client->setAccessToken($token);
$service = new Google_Service_Drive($client);
$file = $service->files->get($file_id);
我的令牌的形式是'ya29.FgJJWfsXI8eisDeFaNcIv6RwZH4FEozeEpjOzoVI9GeQVytY6v....'但我得到一个错误"无法json解码令牌"从第二行开始,我做错了什么?我如何从我的客户端使用oauthtoken来发出下载文件的授权请求?
您的令牌应该是JSON编码,如GDrive开发人员文档中所述:
{ "web":
{ "client_id":"8.......apps.googleusercontent.com",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "0z......"
}
}
我认为你应该重新阅读OAuth流程的文档