Google Apps脚本 - 通过OAuth2身份验证访问其他帐户(contact-api)

时间:2015-07-04 15:07:24

标签: google-apps-script oauth-2.0

从Apps脚本(电子表格)中检索/更新Google通讯录

环境描述:

我们有一个属于域帐户“PrimContact”的共享电子表格,我们也管理我们的联系人。 电子表格通过r / w-access与域中的选定用户共享。 到目前为止的工作流程:在对电子表格进行更改后,通过脚本调用保留这些更改。 这个api-call是通过clientAuth授权的,并且在几天内不再有效。 通过clientAuth,我们能够允许所有用户操作工作表并最终更新 目标联系人的联系人(PrimContact)。

问题:

阅读关于clientAuth的弃用我试过并尝试改变了 对OAuth2的身份验证。据我所知,有两种方法可以验证 用户。通过clientAccount或通过serviceAccount。 SideNote:以下两页帮助完成了它,特别是对于serviceAcc。

[1]客户帐户:https://github.com/googlesamples/apps-script-oauth2

[2]服务帐户身份验证:https://github.com/mcdanielgilbert/gas-oauth2-gae

为了实现这一点,我向PrimContact用户添加了一个项目,并创建了一个Web帐户和一个 服务帐户。使用上述脚本作为起点,身份验证也可以,但是 最后,这不是我想要完成的事情。

客户帐户:脚本正在使用当前的访问令牌调用api(con​​tact-api) 登录客户端虽然我提供了PrimContact用户的clientId。现在我可以预先将脚本作为PrimContact-user运行并存储令牌 在文件中。如果访问令牌尚未过期,则其他用户可以使用此功能 令牌很好,因此“操作”PrimContact数据。但是一旦令牌 过期我必须再次将脚本称为PrimContact-user,这不是很舒服。

服务帐户:使用gas-oauth2-gae,但联系人列表是空的。电话 虽然本身是成功的。我想这是由于服务帐户没有绑定 PrimContact-user虽然该项目与该用户相关联?

目标:

在不同用户使用的google-apps-script(电子表格)中进行api-call(联系人)和 操纵不同帐户的联系人数据,即最初共享电子表格的帐户。

也许我对OAuth2的整个想法完全错误,到目前为止我对它的理解 clientAccount-thing是当前登录用户允许的项目(属于 PrimContact-user)操纵当前登录用户的数据。 服务帐户验证调用正在操作什么数据..我不太确定..

如果有帮助我可以添加代码片段,但是每个人都可以“工作”&仍然没有做什么 我真的需要这样做我不确定它是否有用。

0 个答案:

没有答案