首页 > 解决方案 > C# Google Calendar API - 凭据/Microsoft 帐户

问题描述

好吧,我的问题是我必须在我的个人谷歌帐户中注册日历,这不是问题,但是......

创建新活动时,我的个人电子邮件将作为组织者显示在那里,并将该活动也放入我的个人日历中。

在公司,我们使用最好用的 Microsoft 365 帐户。我的意思是,有没有办法解决这个问题?

解决这个问题的最好方法是,当我创建事件时,我给它一个字符串(这是一个微软电子邮件),它应该是组织者(尽管它不是谷歌帐户)。主要问题是我必须在应用程序中预先注册 ClientID 才能运行整个过程。我现在用谷歌帐户使用以下内容:

public static CalendarService getCalendarService
{
   get
   {
      var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret },
      new[] { CalendarService.Scope.Calendar }, "user", CancellationToken.None).Result;
      return new CalendarService(new BaseClientService.Initializer { HttpClientInitializer = credential, ApplicationName = "Deadline calendar" });
    }
}

标签: c#google-apigoogle-oauthgoogle-calendar-apimicrosoft365

解决方案


您遇到的问题是事件的所有者是创建它的人。创建它的人是当前经过身份验证的用户。基本上,您登录并同意访问并运行您的应用程序的帐户是什么。

您需要将 Microsoft 365 电子邮件帐户转换为 google 帐户,然后使用该帐户登录,使用该帐户创建事件,然后它将成为所有者。


推荐阅读