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

时间:2015-10-24 15:46:56

标签: php oauth google-drive-api google-api-php-client

我有一个网页表单,允许用户将文件上传到我的服务器,我添加了一个按钮,供用户从谷歌硬盘中选择文件。

用户选择文件后,我获得了该文件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发出授权请求来下载文件?

1 个答案:

答案 0 :(得分:0)

您的令牌应按GDrive Developer Documentation

中所述进行JSON编码
{ "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流程的文档。