Calendar:GDATA Provider
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.
Since version 1.0, 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 can be held responsible for that.
You can find a German translation of this page at support.mozillamessaging.com. - Eine Übersetzung dieser Seite ins Deutsche finden Sie auf support.mozillamessaging.com.
Getting the Provider
Downloading
You can obtain the Provider from addons.mozilla.org. As an extension to Lightning, it can be installed in Thunderbird or SeaMonkey.
Notes:
- It is recommended to use the latest version of Lightning together with the latest Provider for Google Calendar.
- If you are using the latest nightly version of Lightning, please use the corresponding version from ftp.mozilla.org.
Accessing your Calendar
In contrast to previous versions, you no longer need to retrieve any URLs from the Google Calendar UI. To subscribe to one or more of your calendars and task lists, all you need to do is open the new calendar wizard (File → New → Calendar → On The Network → Google Calendar). 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/Seamonkey 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. The list is in FAQ format to make it easier to find your issue. If your question was not answered here, please discuss it on the newsgroup. If you believe you have found a bug, please file it in bugzilla
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 New > Boolean
- Enter calendar.debug.log as the preference name
- Pick true as the Boolean value.
- Repeat the same for calendar.debug.log.verbose
- In SeaMonkey:
- Type about:config into the browser's URL bar, then hit Enter
- If warned that this could void your warranty, answer that you'll be prudent.
- Right Click on an empty space in the list of preferences
- Select New > Boolean
- 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. In your bugzilla component watching preferences, you can add the component "Provider: GData" in the product "Calendar". From there on forward, you will receive bugmail on everything important related to the Provider for Google Calendar.
If you don't have a bugzilla account, its free to register.
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. Also, there are some extra features in the Provider not available via CalDAV, for example setting SMS reminders. It is also easier to set up, a graphical calendar picker is available.
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 calendar.debug.log
in the advanced config editor. See above for how to do that. You should be getting more debug messages now.
If it has been working before and you just upgraded, please make sure you are using the right version combination of Thunderbird, Lightning and the Provider for Google Calendar. If you are using an older version of Lightning, you may need to pick the right version of the Provider from the versions page.
I can no longer enter the XML url in the new calendar wizard. Why?
Since version 1.0, there is now a graphical calendar picker. Please re-read the text in the wizard, the step with the textbox now requires entering an email address instead of the URL. An authentication dialog will show up and afterwards you can pick one or more calendars from the list.
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.
I want to be able to edit my calendars while offline!
Even though version 1.0 and above might not show the checkbox for offline support, this does not mean its not possible. The Provider for Google Calendar supports offline editing by default, it cannot be disabled.
Missing Features
Why can't I configure any options in the Extension Manager?
There are currently not enough options to warrant an options window. There are some advanced preferences that can be set in the config editor.
calendar.google.useHTTPMethodOverride = true
Instead of using PUT and DELETE methods, use POST and GET with the X-HTTP-Method-Override header. This is good for proxies and since it doesn't harm non-proxies, it defaults to true.
calendar.google.sendEventNotifications = true
When set to true, invitations are sent out to attendees on event modifications.
calendar.google.enableAttendees = false
When set to false, attendees are disabled. This might be needed if you experience problems when accepting invitations.
calendar.google.sendEmailNotifications = false
Setting this to true allows selecting a Google Calendar when accepting an invitation you received via email. WARNING: Enabling this option may cause you to unknowingly spam all attendees with an extra invitation! Only enable this option if you know what you are doing.
Can I create or view comments made within the Google Calendar Interface?
Not currently. Progress on this is being tracked in bug 362653
Event Interaction
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.
Why can't I create tasks on a Google Calendar?
With version 1.0 and above, you can. Just use the new calendar wizard and select your tasks lists from the list.
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.
Attendees
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.