使用Google的api和服务帐户插入的事件在我查看日历时显示正常,但在打印日历时不包括在内。
手动插入的事件将按预期打印。我正在使用以下代码。
string[] scopes = new string[] { CalendarService.Scope.Calendar };
GoogleCredential credential;
using (var stream = new FileStream("mikeServiceAccount.json", FileMode.Open,
FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream).CreateScoped(scopes);
}
// Create the Calendar service.
var service = new CalendarService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Calendar Authentication Sample",
});
Event myEvent = new Event
{
Summary = "Summary Title",
Description = "event description"
Location = "Nashville, TN"
Start = new EventDateTime()
{
Date = "2018-10-19"
},
End = new EventDateTime()
{
Date = "2018-10-19"
}
};
service.Events.Insert(myEvent,"b4sbsrsdf9r82sbj0@group.calendar.google.com").Execute();
这是查看和打印日历时看到的内容的综合屏幕截图。 https://i.stack.imgur.com/8FqAk.png
答案 0 :(得分:0)
我能够解决这个问题,但实际上最终只是一个概念证明,因此我没有回头看的代码。我记得它的问题最终是我用作endDate的值。我不记得具体细节,但是也许我使用了与startDate相同的日期并添加了午夜的结束时间。反正就是这样。祝你好运,对不起,我帮不上忙。
答案 1 :(得分:0)
使用mikeh提供的信息作为提示,
我们能够解决“打印时不显示全天活动”的问题。
我的解决方案是...
将开始设置为“ YYYY-MM-DDT00:00:00”,然后...
在开始的“第二天”将结束时间设置为00:00:00。
谢谢。
start: {
dateTime : new Date("2020-01-25T00:00:00").toISOString()
,timeZone: 'Asia/Tokyo'
}
,end: {
dateTime : new Date("2020-01-26T00:00:00").toISOString()
,timeZone: 'Asia/Tokyo'
}