Skip to content
Philipp Kewisch edited this page Jan 5, 2022 · 3 revisions

What is the GDATA Provider?

The Google Data Protocol is a REST-inspired technology for reading from, writing to, and modifying Google services via the web. Many services at Google, including Google Calendar, provide external access to data and functionality through APIs that utilize the Google Data Protocol. The GDATA Provider is an adapter that connects the internals of Mozilla's Lightning calendar add-on to Google Calendar RESTful data services. This allows you to view, edit and manipulate Google calendars within Lightning.

Both calendars and task lists can be accessed. This FAQ will show you how to set up the calendars and task lists and guide you through any known limitations.

Disclaimer

This provider enables write support to Google Calendar. Although highly unlikely, it is possible that you could lose (parts of) your data here. Neither the author, nor Mozilla, nor the Thunderbird team can be held responsible for that.

Getting the Provider

Downloading

You can obtain the Provider from addons.thunderbird.net. It is recommended to use the latest version of Thunderbird together with the latest Provider for Google Calendar.

Accessing your Calendar

To subscribe to one or more of your calendars and task lists, all you need to do is open the new calendar wizard (Click on the + icon at the top of the calendar list). There, you will see a "Google Calendar" option next to "On my Computer" and "On the Network". In the next screen, you must enter the email address you use to access Google Calendar. An authentication dialog will pop up where you should log in with your Google Credentials. Two Factor Authentication is supported.

The authentication dialog might suggest that the addon author or other third party will have permission to manage your calendar. Since the Provider is part of a client application, this is not true. The authentication mechanism used is OAuth, which is primarily used on websites. In that case, the website asks Google to present you with a login dialog to grant access. Google shows the authentication page and if you agree, a login token is sent back to the website. With the Provider, no token is sent to a third party website. Instead, the token is saved locally in the Thunderbird password manager.

If you should lose your computer or would like to revoke access to the Provider for Google Calendar for other reasons, please see the Google Account Permissions page.

Bugs and Limitations

Before reporting a bug, carefully check this list to see if the issue you are having is not a known limitation. If your question was not answered here, please see the discussion forums. If you believe you have found a bug, please file it on the issues page.

Enabling Debugging

This option is useful for more verbose logging to diagnose problems you are having. It is also a good thing to look at before posting on the discussion group:

  • In Thunderbird:
    • Open your application preferences (Tools or Edit Menu)
    • Select the Advanced icon at the top.
    • Click on the General tab, below the icons.
    • Select Advanced Configuration or Config Editor, whichever is available
    • Right Click on an empty space in the list of preferences
    • Select NewBoolean
    • Enter calendar.debug.log as the preference name
    • Pick true as the Boolean value.
    • Repeat the same for calendar.debug.log.verbose

Afterwards you will be able to see the debug messages in the error console (Tools Menu → Error Console). To be sure you are getting all messages it is advisable to restart the application after setting the preference.

I want to stay up to date on all GData Provider bugs!

Nothing easier than that. Watch the gdata-provider project on GitHub. From there on forward, you will receive mail on issues for Provider for Google Calendar. If you don't have a GitHub account, sign up for an account.

Performance

Thunderbird is freezing with the Provider installed, what can I do?

If you have just installed the Provider, or haven't synchronized for a while, a full synchronization is done. This can take a long time if you have many thousands of events in your calendar. You can check the Activity Manager in the Tools menu for current progress. Events will be synchronized in batches of 1000. Please just let it sit for a while until the initial synchronization is done. Once this has happened, all future synchronizations will be incremental and therefore fast.

Calendar Access

Why should I use the Provider, and not access via CalDAV?

The Provider predates Google Calendar's CalDAV support and was initially recommended because it was more stable. However, CalDAV support has improved with time and now offers a pretty complete Google Calendar experience. For some people, the Provider for Google Calendar works better than CalDAV. The Provider for Google Calendar also allows access to Google's task lists and there are some extra features in the Provider not available via CalDAV, for example setting EMAIL reminders.

I cannot access my calendar at all!

Now this is very general. First things first: Do you see any error console messages? If not, please enable debugging as described above.

If it has been working before and you just upgraded, please make sure you are using the right version combination of Thunderbird and the Provider for Google Calendar. If you are using an older version of Thunderbird, you may need to pick the right version of the Provider from the versions page.

Why does the login dialog open in my default browser instead of in Thunderbird?

This usually happens when certain advanced preferences have been changed, either directly or via an addon. To fix it, go to the advanced config editor (Tools → Options → Advanced → General Tab → Config Editor...) and search for network.protocol-handler.expose.http. Set both network.protocol-handler.expose.http and network.protocol-handler.expose.https to true.

I want to access a friend's calendar I have access to!

No problem! As long as you have this calendar added in the Google Calendar web interface, just use the new calendar wizard, sign in with your own Google credentials and select your friend's calendar from the list.

Events and Tasks

Why do all events I create or edit through Lightning have wrong times?

Is your local timezone set up correctly in the Lightning preferences? If not, all events you edit will have the first timezone with the same offset as the original timezone it was set in. Also, created events will use the timezone that was originally set in your timezones preference.

I cannot seem to create a calendar that supports tasks and events at once?

With the new calendar wizard, you can subscribe either to a task list or a calendar. Its not possible to create one entry in your calendar list to access both, as it would make the UI very complicated. If you are a power user, you can manually edit the prefs.js file to create a calendar that has both a tasks and calendar parameter. Note however you are on your own doing this, if you experience any issues please don't let that reflect badly on the Provider itself.

I received an invitation from a friend. When trying to accept, my Google Calendars are not in the select calendar dialog, or no dialog is shown

You can only accept invitations into your primary calendar, i.e. the one named after you. Support for accepting invitations is not ideal due to various limitations, but I hope everything works. Please check the question on advanced preferences above for some settings that might help.

Why are attendees removed when editing events, or not synchronized?

There are some issues around invitations that have caused a lot of grief, therefore the default is that attendees are not synchronized. I will revisit this decision in the future. Please see the Provider options page in the add-ons manager for more details. If you want to start slow, you can enable attendees but not enable sending notifications.

Why do I see HTML tags in events when using other applications

Thunderbird recently introduced a feature that enables editing event descriptions as HTML, which cannot be easily disabled. The Provider is therefore using HTML descriptions if there is reason to believe the content is HTML.

Then we have Google, where the event field is a strange mix of HTML and plain text. There is only one field, and no way to specify if the changed content is HTML or not. Even on the Google Calendar website you'll occasionally see mishaps because it is unclear if the description is plain text or HTML.

Then we have other apps, e.g. some Android apps. If these apps do not expect HTML in the description field, you will see HTML tags there. In #316 I will be adding an option to force the use of plain text, though beware this may cause some issues if you are accepting invitations that use HTML.