从客户端使用oauthtoken从我的服务器上的gdrive下载文件


using oauthtoken from client side to download files from gdrive on my server

我有一个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流程的文档