假设我有一个简单的节点后端应用程序,该应用程序在运行时需要连接到特定的GSuite实例,查询某些内容(用户,组等),然后关闭并且直到需要时才再次运行,这可能意味着时间长或几秒钟。根据我从Google文档中收集到的信息,可能有多种方法可以做到这一点,包括拥有OAuth客户端并遵循整个流程进行设置,管理令牌生命周期等。
但是由于种种原因,我现在暂时不希望使用此选项,我想知道是否有任何方法可以通过API密钥/秘密来获取访问权限,就像当今许多其他第三方服务所允许的那样。简而言之,我想在GSuite上的某个位置生成一个密钥对,不知道在哪里,然后将这些密钥用于auth而不是OAuth,Google可能会在GSuite Admin应用程序上使用这些密钥(带有断开的链接,导致无处可通-不令人惊讶的是),然后在GCloud API和凭据子页面上设置凭据(但是它说API密钥只能用于非常有限的资源,它们与GSuite无关)。
答案 0 :(得分:1)
我认为最好的选择是查看服务帐户是否可以完成您想做的事情。您可以创建一个服务帐户,在GSuite中为其授予管理员权限,启用某些API,然后该帐户可以执行很多操作,而无需直接使用OAuth。然后可以将服务帐户的凭据作为json密钥文件提供给您的应用程序,该文件可用于向GSuite进行身份验证。您还可以为服务帐户授予对特定对象(例如云端硬盘中文件)的权限,但这听起来不足以满足您的需求。
https://m.fin.com/2017/10/04/navigating-the-google-suite-directory-api/
可能对如何执行此操作很有帮助。