2014-01-11 63 views
0

我想为我的俱乐部设置一个文件存储,并且我需要通过我们的网站授予对会员的只读访问权限。 由于缺乏能够在iframe在我们的网站谷歌驱动器集成,我想象以下场景授予成员访问:我可以通过认证为服务帐户的API将权限授予Google云端硬盘文件夹吗?

  1. 用户,而在我们的俱乐部的网站登录,点击一个按钮,上面写着'授予访问谷歌云端硬盘文件夹”。
  2. 一些服务器端PHP代码调用认证为我的谷歌服务帐户的权限API,要求该文件夹与当前用户的电子邮件地址分享。
  3. 用户收到来自Google的通知邮件,用于访问该文件夹。

可以这样做吗?从阅读https://developers.google.com/drive/service-accounts似乎是如此。我只需要硬编码我的服务帐户的授权码,然后能够指望它不会改变?或者我需要更多?

在此先感谢。

回答

1

好吧,看起来这个用例是可行的。但请注意,Google云端硬盘中的任何给定文件夹或文件只能与最多200个单独的电子邮件地址共享。

这里就是我所做的: 1)使用的快速入门例子https://developers.google.com/drive/quickstart-php访问验证网址,生成授权码,并用它通过生成访问令牌

$accessToken = $client->authenticate($authCode); 
print_r($accessToken); 

此代码将作为JSON对象在浏览器/控制台中打印访问令牌的内容。然后,只要对象包含不应过期的刷新标记,我就可以将这个JSON对象用于所有将来的请求。

我就能够创建一个使用包含访问令牌我的字符串的内容的apiClient:

$credentials = '{json representation of access token}'; 
$apiClient = new Google_Client(); 
$apiClient->setUseObjects(true); 
$apiClient->setAccessToken($credentials); 

最后,我能够做出API调用以代表我的用户帐户。

我发现这个很有用:https://developers.google.com/drive/auth/web-server

相关问题