将Angular-.NET应用程序与Google Calendar API同步

我想使用OAuth2将Google Calenar API集成到我的.NET应用程序中,以便每个用户登录时都能看到自己的日历。

我想将生成的代码保存到数据库中。

我开始这样做,并且在角度方面添加了此功能,该功能可以连接到您的Google日历并获取您的私人代码,然后将其发送到背面:

  handleAuthClick() {
    let self = this;
    gapi.auth2.getauthInstance().grantOfflineaccess()
      .then(value => {
        const optionsParams = {
          params: new HttpParams()
            .set('code',value.code)
        };
        self.http.get("http://localhost:59933/api/UserCode",optionsParams)
          .subscribe(data => {
            console.log(data);
          })
      });
  }

现在,我希望每当用户登录到该应用程序时都使用此代码来检索日历数据(全天候需要将其他时间连接到Google日历)

我从这里开始,但是这里没有关于OAuth2的信息:

https://developers.google.com/calendar/quickstart/dotnet

有帮助吗?谢谢

heixiaoniao 回答:将Angular-.NET应用程序与Google Calendar API同步

我假设您将用户的刷新令牌以及该用户的自定义ID保存在数据库中。

要了解这一点,请熟悉OAuth2

基本上:

  • 您将把刷新令牌与您的应用程序ID一起发送给Google。
  • Google将收到此邮件,请检查您要授权的用户(刷新令牌)是否仍允许您的应用程序(应用程序ID)继续运行。
    • 在这种情况下,Google会使用具有到期日期的访问令牌来答复。
    • 如果Google认为您的刷新令牌和/或您的应用程序ID无效,它将拒绝您的请求。发生这种情况时,您将不得不再次执行整个“连接到日历”步骤。

虽然访问令牌有效,但是您可以在应用程序中使用它来获取数据,而无需提示用户提供更多信息。

本文链接:https://www.f2er.com/3139296.html

大家都在问