Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing popup reminders in Google Calendar Events

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:

Google Popup Reminder

Now, I am using Windows 10 / Microsoft Edge and I went to look at my events and this is what I see:

Google Notification

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.

Update

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:

  • Email
  • Popup
  • SMS

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:

  • Email
  • Notification

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.

Request for help

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.

Further research

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:

Reminder

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.

like image 278
Andrew Truckle Avatar asked Feb 13 '17 14:02

Andrew Truckle


People also ask

Why are my Google Calendar Reminders not popping up?

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.


1 Answers

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.

like image 142
Andrew Truckle Avatar answered Oct 20 '22 16:10

Andrew Truckle