【问题标题】:Google calendar and Oauth2 workflow is confusingGoogle 日历和 Oauth2 工作流程令人困惑
【发布时间】:2022-01-24 21:35:38
【问题描述】:

我有一个用于客户端的 Web 应用程序,它显示日历供用户单击并安排约会。他的日历需要 24/7 全天候连接。没有用户需要登录或使用 Oauth。用户只需选择日期和时间即可创建事件。就获取日历和发送事件而言,我一切正常。问题在于令牌以及在这种情况下理解内部与外部。

问题:

1.阅读文档时,我很难理解这是内部应用还是外部应用。只有内部客户需要登录才能提供日历。但“设置事件”的人是用户。

2.令牌在 7 天后过期。根据他们的文档“刷新令牌在被授予后可能会停止工作,因为:......应用程序的状态为'测试'并且同意屏幕配置为外部用户类型,导致令牌在 7 天内过期” .他们在本节中没有提供任何关于它是否超出“测试”、这是否会继续成为问题的信息。

问题:

当涉及到同意屏幕时,我该怎么做才能进行部署?我部署,使用他的帐户登录一次,然后一遍又一遍地刷新令牌?或者一旦它不在“测试”中,我就不必担心这个?

如果这是我需要做的,当前的刷新令牌将在 7 天内过期。我是否只是在该时间即将到期后编写一个循环以发送另一个令牌?

或者我一直在做错误的方法,这个应用程序需要一个服务帐户而不使用 Oauth?

【问题讨论】:

    标签: oauth-2.0 google-api google-oauth google-calendar-api service-accounts


    【解决方案1】:

    1.阅读文档时,我很难理解这是内部应用还是外部应用。只有内部客户需要登录才能提供日历。但“设置事件”的人是用户。

    内部是指谷歌工作区。仅在该域内。因此,您可以拥有一个仅适用于您工作区域内的用户的内部应用程序,它不适用于标准 gmail 用户。

    2.令牌在 7 天后过期。根据他们的文档“刷新令牌在被授予后可能会停止工作,因为:......应用程序的状态为'测试'并且同意屏幕配置为外部用户类型,导致令牌在 7 天内过期” .他们在本节中没有提供任何关于它是否超出“测试”、这是否会继续成为问题的信息。

    只需将其设置为生产,然后您的访问令牌将有效超过 7 天。

    当涉及到同意屏幕时,我该怎么做才能进行部署?我部署,使用他的帐户登录一次,然后一遍又一遍地刷新令牌?或者一旦它不在“测试”中,我就不必担心这个?

    您需要再次授权应用才能获得新的刷新令牌。基本上每周一次。

    如果这是我需要做的,当前的刷新令牌将在 7 天内过期。我是否只是在该时间即将到期后编写一个循环以发送另一个令牌?

    这是一个手动过程,用户需要登录 Google 帐户并再次授权该应用。

    或者我一直在做错误的方法,这个应用程序需要一个服务帐户而不使用 Oauth?

    Google 日历仅在与 Google 工作区帐户一起使用时才支持服务帐户。如果这是一个工作区帐户,那么是的,您应该更轻松地使用服务帐户授权。

    【讨论】:

    • 如果它在生产中,我是否还需要每周授权该应用程序?如果是这样,有没有办法只登录一次而不必再次登录?还是仅适用于服务帐户?
    • 如果它在 oauth2 同意屏幕下的谷歌云控制台中设置为生产,它应该不会在一周后过期。如果是,您可能需要申请验证。服务帐户是在没有用户交互的情况下向帐户授权的唯一方法。
    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多