GNOME Bugzilla – Bug 544708
Google Calendar fails to sync
Last modified: 2018-07-01 09:03:27 UTC
Please describe the problem: After native evolution-google-calendar sync not working i went for conduit. All works except calendar sync. The error seams to be in accessing the account. My username and password is correct (i was able to load my calendars) but Steps to reproduce: 1. Create google calendar source 2. join to evolution calendar 3. configure 4. fail Actual results: Expected results: Does this happen every time? yes Other information: System: ubuntu 8.04.1 Conduit Version: 3.12 Downloaded following this instructions: http://lifehacker.com/398775/sync-and-back-up-your-data-with-conduit-for-linux this is the stack trace [Syncronization ][DEBUG ] Starting worker: <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), initial)> (Synchronization.py:93) [Syncronization ][DEBUG ] Refresh <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), started)> beginning (Synchronization.py:813) [Syncronization ][CRITICAL] UNKNOWN REFRESH ERROR: Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera) Traceback (most recent call last):
+ Trace 203773
self.dataproviderWrapper.module.refresh()
for event in self._get_all_events():
eventFeed = self.service.CalendarQuery(calQuery)
converter=gdata.calendar.CalendarEventFeedFromString)
result = self.Get(uri, converter=converter)
'reason': server_response.reason, 'body': result_body}
(Synchronization.py:834) [Syncronization ][WARNING] Sync Aborted (Synchronization.py:839) [Syncronization ][DEBUG ] Deleting worker: <SyncWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera@gmail.com) |--> [<conduit.ModuleWrapper.ModuleWrapper instance at 0x8c276ac>], stopped)> (Synchronization.py:86)
Personnaly i don't put the @gmail.com. Can you test without this ? If it's ok, may be the system can detect this & remove the @gmail.com ?
I tried again without the @gmail. This is the stacktrace [Syncronization ][INFO ] Setting global cancel flag (Synchronization.py:90) [Syncronization ][DEBUG ] Starting worker: <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), initial)> (Synchronization.py:93) [Syncronization ][DEBUG ] Refresh <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), started)> beginning (Synchronization.py:813) [Syncronization ][CRITICAL] UNKNOWN REFRESH ERROR: Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera) Traceback (most recent call last):
+ Trace 203865
(Synchronization.py:834) [Syncronization ][WARNING] Sync Aborted (Synchronization.py:839) [Syncronization ][DEBUG ] Deleting worker: <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), stopped)> (Synchronization.py:86) As I see, the @gmail is added. but i still have the same error PD: i tested the other plugins an i find conduit AWESOME!!!! :D
he also tested with the bzr trunk version. I have no idea where the problem can come from ... If someone better than me can have a idea (locals?). ============ I tried again from bzr (bzr branch lp:~conduit/conduit/trunk) with 0.3.13 but same results [Syncronization ][INFO ] Setting global cancel flag (Synchronization.py:90) [Syncronization ][DEBUG ] Starting worker: <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), initial)> (Synchronization.py:93) [Syncronization ][DEBUG ] Refresh <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), started)> beginning (Synchronization.py:813) [Syncronization ][CRITICAL] UNKNOWN REFRESH ERROR: Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera) Traceback (most recent call last):
+ Trace 204046
alejandro.vera%40gmail.com', 'reason': 'Bad Request'} (Synchronization.py:834) [Syncronization ][WARNING] Sync Aborted (Synchronization.py:839) [Syncronization ][DEBUG ] Deleting worker: <RefreshDataProviderWorker(Wrapper: Google Calendar twoway (UID: GoogleCalendarTwoWay-alejandro.vera), stopped)> (Synchronization.py:86)
I can confirm this error for the exact same versions. I installed conduit via the PPA (0.3.12) on an actual hardy install. If you want my tracebacks, tell me, but they show just a different username, the rest is similar. The Google Contacts sync works very well at the same time. <-
I'm seeing this same error, with an identical traceback, using a google-apps with a custom domain email address.
same problem here. It worked once before updating and now its toasted. To bad as it was the only thing I really really needed from conduit. I hope it gets fixed soon.
+ Trace 204394
(Synchronization.py:703)
The reason is that @ is encoded twice. In the settings.xml file, the userid is saved like foo.bar%40gmail.com and then when conduit try to connect he encoded % so, we have foo.bar%2540gmail.com. Either, we do not encode it when saving in settings.xml or we decode it before connection to Google. Because I do not know what is the approach to follow, I didn't fix the bug.
I suggest decoding it before sending it to google. It has to be encoded in the XML for the XML to be valid.
Created attachment 121397 [details] [review] Solves by doing urllib.unquote(uri)
Comment on attachment 121397 [details] [review] Solves by doing urllib.unquote(uri) As Antoine said, we need to unquote the data we get from Google or settings.xml. This patch takes care of it at the initialization of a _GoogleCalendar object.
*** Bug 537160 has been marked as a duplicate of this bug. ***
Conduit is not under active development anymore, has not seen code changes for eight years, and saw its last tarball release in 2010. Its codebase has been archived: https://gitlab.gnome.org/Archive/conduit/commits/master Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.