c# - 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" });
}
}
解决方案
您遇到的问题是事件的所有者是创建它的人。创建它的人是当前经过身份验证的用户。基本上,您登录并同意访问并运行您的应用程序的帐户是什么。
您需要将 Microsoft 365 电子邮件帐户转换为 google 帐户,然后使用该帐户登录,使用该帐户创建事件,然后它将成为所有者。
推荐阅读
- php - 用于计算常见贷款类型(如抵押贷款、汽车贷款、学生贷款或个人贷款)的基本计算公式
- excel - 从根节点检索空子节点
- visual-studio-code - vscode 生成大型配置文件
- django - Django ORM(Django 2.X)中“FilteredRelation()”对象的用途是什么?
- javascript - 使用 puppeter 在新选项卡中打开页面
- python - Python 2.7 Unittest 检查是否记录了警告
- java - 调用 void 方法的 CompletableFuture.runAsync() 的 Mockito 测试用例
- html - Angular中的排序下拉列表不区分大小写
- grails - 从微服务中获取数据以存放在 grails 中
- javascript - selenium 运行测试时如何显示 Snackbar?