I am confused with the Google Calendar v3 interface. Something seems to have changed.
I have some VBA code that creates events and attaches a popup reminder:
If (sEventSettings.bSetReminder) Then
Dim oReminders As New Data.Event.RemindersData()
Dim oReminder As New Data.EventReminder()
Dim listReminders As IList(Of Data.EventReminder) = New List(Of Data.EventReminder)()
oReminder.Minutes = sEventSettings.iSetReminderTime
oReminder.Method = "popup"
listReminders.Add(oReminder)
oReminders.UseDefault = False
oReminders.Overrides = listReminders
oEvent.Reminders = oReminders
End If
For many years it has worked. And I could see something like this in the online calendar:
Now, I am using Windows 10 / Microsoft Edge and I went to look at my events and this is what I see:
It has changed. If I manually go to set a notification it will only allow email. What has happened to the popup reminders?
According to the Google Calendar Documentation popup reminders are still supported. So I am confused.
If you look at the definition for the EventReminder.Method property:
Namespace Google.Apis.Calendar.v3.Data
Public Class EventReminder
Implements IDirectResponseSchema
Public Sub New()
'
' Summary:
' The method used by this reminder. Possible values are: - "email" - Reminders
' are sent via email. - "sms" - Reminders are sent via SMS. These are only available
' for Google Apps for Work, Education, and Government customers. Requests to set
' SMS reminders for other account types are ignored. - "popup" - Reminders are
' sent via a UI popup.
<JsonProperty("method")>
Public Overridable Property Method As String
'
' Summary:
' Number of minutes before the start of the event when the reminder should trigger.
' Valid values are between 0 and 40320 (4 weeks in minutes).
<JsonProperty("minutes")>
Public Overridable Property Minutes As Integer?
'
' Summary:
' The ETag of the item.
Public Overridable Property ETag As String
End Class
End Namespace
So, the API expects you to use:
Yet, as we have agreed, the Google Calendar in a web browser has now changed and it no longer shows a Reminders section but a Notifications section. An for me, it lists:
So it is still not clear to me how to programmatically create the event any more in VB.NET with a equivalent of a popup reminder.
The answer still does not help me. You can no longer create a calendar event and set the reminder object method as "popup". It seems one has to use "notifications" instead and I can't work out how to programmatically do this with the V3 API.
I manually created a calendar with Google Chrome and added a event. I then I added a notification set to 1 day. I exported this calendar as ICS format:
BEGIN:VEVENT
DTSTART:20170420T143000Z
DTEND:20170420T153000Z
DTSTAMP:20170307T102059Z
UID:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CREATED:20170307T102022Z
DESCRIPTION:This is a test
LAST-MODIFIED:20170307T102045Z
LOCATION:Home
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Test
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-P1D
END:VALARM
END:VEVENT
Notice this bit at the end:
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-P1D
END:VALARM
According to Wikipedia it states that events can have some VALARM codes.
If I import this ICS file into a new calendar in Microsoft Outlook it is correctly set as one day:
Yet when I export my events that I have correctly, as I expected, no VALARM objects are present. Yet, I have created them correctly:
If (sEventSettings.bSetReminder) Then
Dim oReminders As New Data.Event.RemindersData()
Dim oReminder As New Data.EventReminder()
Dim listReminders As IList(Of Data.EventReminder) = New List(Of Data.EventReminder)()
oReminder.Minutes = sEventSettings.iSetReminderTime
oReminder.Method = "popup"
listReminders.Add(oReminder)
oReminders.UseDefault = False
oReminders.Overrides = listReminders
oEvent.Reminders = oReminders
End If
They are not being honoured by the Google Calendar V3 API. I think the problem here is that the feature is broken. Then have renamed it from popup to notification and not updated support for creating events with these popup alerts. I am using the latest package manager downloads. I raised an issue about it several days ago with Google.
I do not believe this is an error on my part. Given the silence from the user base here I have come to the conclusion that no one is actually using the API to create events and set reminders. Or, that there may be other users who now have affected code and are not aware of this issue.
But if you do know of it, and can replicate my problem / or know of a pragmatic resolution please let me know. Thank you.
Make sure Do Not Disturb is not enabled. If you've turned on Samsung's Do Not Disturb mode or maybe snoozed the notifications in other Android 12 devices, that could prevent your phone from showing you the alerts from Google Reminders. Make sure your notifications are enabled and then try to use Google Reminders again.
Oh dear, after all this time, I have to eat humble pie ... :)
My event in my code was wrapped with a if
clause and it needed to be:
If (strEventType = kTagAssignmentsMSA Or strEventType = kTagMidweekMeetingCLM) Then
It was set to an obsolete tag that I no longer used and I had not updated my code. So it was never creating the event reminder itself.
Me bad. Problem solved. There was no problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With