【发布时间】:2018-09-15 06:09:38
【问题描述】:
我有一个对文件执行操作的 .NET 控制台应用程序。我想允许客户让我们访问他们的 Google Drive 帐户,以便我们可以读取和写入文件。我们的控制台应用程序作为服务运行,因此用户无法与其交互并授权我们访问他们的 Google Drive 帐户。
我一直在考虑使用 Google 服务帐户进行应用程序级别的身份验证,直到我了解到服务帐户无权访问设置服务帐户的用户的 Google 云端硬盘文件夹。这种做法违背了目的,因为我希望访问的是客户的 Google Drive 帐户。
我看到 SO 成员 @pinoyyid 发布的解决方法 in this SO answer 可以使用 Google 的 Oauth2 Playground 生成刷新令牌,但我担心刷新令牌可能会过期,并且需要再次用户干预才能生成另一个一个。
另一个回复提到解决方案是创建服务帐户,然后与服务帐户共享用户的 Google 云端硬盘帐户。
Google 推荐的方法是什么?如何才能最好地访问 Google Drive 帐户,同时只要求所有者进行一次身份验证,同时允许他们随时撤消访问权限?
【问题讨论】:
标签: google-api google-drive-api google-oauth