Google 通过 API 的日历提醒不起作用
Google calendar reminder via API not working
我正在尝试 Insert 向 Google 日历添加一个新事件,其中包含 2 个自定义提醒,但尚未设置。
似乎通过代码设置了 7+9 分钟的提醒(检查输出)。
但是在日历 Web GUI 中,事件显示时设置了默认提醒。
// Insert new
var r1 = new EventReminder { Method = "popup", Minutes = 7 };
var r2 = new EventReminder { Method = "popup", Minutes = 9 };
var erd = new Event.RemindersData {UseDefault = false, Overrides = new [] {r1 , r2}};
var ev = new Event
{
Created = DateTime.Now,
Creator = new Event.CreatorData {DisplayName = "Foobar"},
Description = "Foo",
Summary = "Bar",
Location = "Baz",
Reminders = erd,
Start = new EventDateTime {DateTime = DateTime.Now.AddHours(1)},
End = new EventDateTime {DateTime = DateTime.Now.AddHours(2)}
};
try
{
var eventInsert = service.Events.Insert(ev, "***************'");
var execResult = eventInsert.Execute();
Console.WriteLine(execResult.Status);
Console.WriteLine(execResult.Id);
foreach (var r in execResult.Reminders.Overrides)
{
Console.WriteLine(" mins: " + r.Minutes);
}
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
输出:
confirmed
7ktkgedd536f********
mins: 7
mins: 9
结果图片URL:
我终于有时间进一步调查了。
@peleyal 让我走上正轨,我使用的是 服务帐户 。
切换到 OAuth 解决了问题。
我正在尝试 Insert 向 Google 日历添加一个新事件,其中包含 2 个自定义提醒,但尚未设置。
似乎通过代码设置了 7+9 分钟的提醒(检查输出)。
但是在日历 Web GUI 中,事件显示时设置了默认提醒。
// Insert new
var r1 = new EventReminder { Method = "popup", Minutes = 7 };
var r2 = new EventReminder { Method = "popup", Minutes = 9 };
var erd = new Event.RemindersData {UseDefault = false, Overrides = new [] {r1 , r2}};
var ev = new Event
{
Created = DateTime.Now,
Creator = new Event.CreatorData {DisplayName = "Foobar"},
Description = "Foo",
Summary = "Bar",
Location = "Baz",
Reminders = erd,
Start = new EventDateTime {DateTime = DateTime.Now.AddHours(1)},
End = new EventDateTime {DateTime = DateTime.Now.AddHours(2)}
};
try
{
var eventInsert = service.Events.Insert(ev, "***************'");
var execResult = eventInsert.Execute();
Console.WriteLine(execResult.Status);
Console.WriteLine(execResult.Id);
foreach (var r in execResult.Reminders.Overrides)
{
Console.WriteLine(" mins: " + r.Minutes);
}
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
输出:
confirmed
7ktkgedd536f********
mins: 7
mins: 9
结果图片URL:
我终于有时间进一步调查了。 @peleyal 让我走上正轨,我使用的是 服务帐户 。
切换到 OAuth 解决了问题。