Java 当应用程序是更改的所有者时,禁用Google日历推送通知

Java 当应用程序是更改的所有者时,禁用Google日历推送通知,java,push-notification,google-calendar-api,Java,Push Notification,Google Calendar Api,当我使用java客户端从我的应用程序创建/更新Google事件时: events .insert(originalCalendarId, googleEvent) .setSupportsAttachments(true) .execute() 我仍然收到有关事件创建/更新的推送通知。 我不想得到它们,因为我是做这些改变的人。更改以不同的方式应用于应用程序,在这种情况下,额外的推送通知是无用的 然而,我需要在其他地方(另一个应用程序或Google Web UI)进行新的更改 有办法处理这个案子

当我使用java客户端从我的应用程序创建/更新Google事件时:

events
.insert(originalCalendarId, googleEvent)
.setSupportsAttachments(true)
.execute()
我仍然收到有关事件创建/更新的推送通知。 我不想得到它们,因为我是做这些改变的人。更改以不同的方式应用于应用程序,在这种情况下,额外的推送通知是无用的

然而,我需要在其他地方(另一个应用程序或Google Web UI)进行新的更改

有办法处理这个案子吗?也许有一种方法可以让谷歌知道,不需要针对特定查询的推送通知

我还看到有一个属性:

com.google.api.services.calendar.Calendar.Events.Insert#sendNotifications

但是,无论我在这里设置了什么,都会发送通知

我认为您已经订阅了一个资源,如果您的应用程序刚刚做了一些更改,您希望不会收到推送通知。因此,您应该使用:

.insert(originalCalendarId, googleEvent)
.setSupportsAttachments(true)
.setSendNotifications(false)
.execute()

如果您收到任何方式的推送通知,请使用自己的推送通知
X-Goog-Channel-ID
,以确保这是
Google
问题。我相信您有一些未正确处理的旧订阅,这就是您通过
推送通知

接收更改的原因。中没有指定特别的方法来执行此操作,因为此功能的目标是侦听一般的资源更改。“本文档介绍如何使用推送通知,在资源发生更改时通知应用程序。”