【问题标题】:Giving an application its own user id/session to access a google drive为应用程序提供自己的用户 ID/会话以访问谷歌驱动器
【发布时间】:2015-01-22 17:41:09
【问题描述】:

我有一个 C# MVC Web 应用程序,它需要制作一份 google 表格(模板)的副本,并将副本设置为当前用户的只读/只读,而模板所有者读取/写入副本。

通常,您会为应用程序本身提供一个 ID 来执行此类功能。我还没有弄清楚如何为应用程序提供独立于当前用户(“User-2”)的自己的 ID 和会话(“User-1”)。我不想为只读用户提供读/写密码来制作模板的副本,我真的希望副本发生在当前用户的谷歌登录之外。

【问题讨论】:

    标签: c# google-drive-api google-docs-api


    【解决方案1】:

    您的应用程序通过其提交的 OAuth 访问令牌绑定到特定用户。因此,如果您的应用可以检索 User-2 的访问令牌(具有适当的范围),那么您就可以开始了。

    获取 User-1 的访问令牌 有多种方法可以做到这一点,具体取决于应用的易变性和安全要求。从根本上说,它要求您的 Web 应用程序为 User-1 存储一个刷新令牌,它可以随时使用它来静默获取访问令牌。详情请见How do I authorise an app (web or installed) without user intervention? (canonical ?)

    .

    您的问题中的一些术语需要理顺一下。

    • “ID” - 当您在开发者控制台上注册时,每个应用程序都有自己的 ID。它被称为 Client-ID,这让一些人误以为该 ID 与最终用户有某种关联;不是。
    • “会话” - 没有与 Google Drive 的会话。可能存在与 Google 的会话,在该会话中 OAuth 流将寻求识别 Google 用户,以便为该用户生成访问令牌。但是云端硬盘没有“会话”,这就是为什么云端硬盘应用可以访问任意数量的云端硬盘帐户,前提是每个帐户都有一个访问令牌。

    【讨论】:

      猜你喜欢
      • 2019-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      相关资源
      最近更新 更多