我想在删除活动时发送通知:
var certificate = new X509Certificate2("myp12filepath", "notasecret", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = Scopes
}.FromCertificate(certificate));
BaseClientService.Initializer initializer = new BaseClientService.Initializer();
initializer.HttpClientInitializer = credential;
initializer.ApplicationName = ApplicationName;
var service1 = new CalendarService(initializer);
var googleCalendarEvent = service1.Events.Delete("calendarId", "eventId").Execute();
删除功能不接受第3个参数(表示是否发送通知),如link所述(没有c#示例)
有没有办法在删除活动后发送电子邮件通知?
答案 0 :(得分:2)
创建删除请求的实例并将通知指定为true。见下文。
var certificate = new X509Certificate2("myp12filepath", "notasecret", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = Scopes
}.FromCertificate(certificate));
BaseClientService.Initializer initializer = new BaseClientService.Initializer();
initializer.HttpClientInitializer = credential;
initializer.ApplicationName = ApplicationName;
var service1 = new CalendarService(initializer);
EventsResource.DeleteRequest delReq = service1.Events.Delete("calendarId", "eventId");
delReq.SendNotifications = true;
var googleCalendarEvent = delReq.Execute();
答案 1 :(得分:0)
AFAIK,如果您要发送有关删除事件的通知,则需要将sendNotifications
设置为true
,如您在给定link中所述。除此之外,对于用户接收通知,还应检查用户的通知设置,如此forum中提及的每个日历以及给定的here。
下面列出了打开或关闭通知的步骤:
您可以选择是否包含活动通知,以及是否要通过电子邮件或浏览器接收通知。
- 在您的计算机上打开Google Calendar。
- 点击右上角的设置(齿轮图标)>设置
- 点击页面顶部的日历标签。
- 点击日历名称旁边的修改通知。
- 点击添加通知或修改现有通知。
- 在页面底部,点击保存。
醇>注意:要在您的计算机上收到通知,您需要在浏览器中打开Google日历。
最后,由于C#的样本不多,.NET client可能有所帮助。