After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 544708 - Google Calendar fails to sync
Google Calendar fails to sync
Status: RESOLVED WONTFIX
Product: conduit
Classification: Other
Component: dataproviders
0.3.x
Other All
: Normal normal
: ---
Assigned To: John Carr
conduit-maint@gnome.bugs
gnome[unmaintained]
: 537160 (view as bug list)
Depends on:
Blocks: 546088
 
 
Reported: 2008-07-25 15:32 UTC by alejandro vera
Modified: 2018-07-01 09:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Solves by doing urllib.unquote(uri) (958 bytes, patch)
2008-10-26 21:43 UTC, David Verhasselt
none Details | Review

Description alejandro vera 2008-07-25 15:32:05 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):
  • File "/var/lib/python-support/python2.5/conduit/Synchronization.py", line 825 in run
    self.dataproviderWrapper.module.refresh()
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 462 in refresh
    for event in self._get_all_events():
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 386 in _get_all_events
    eventFeed = self.service.CalendarQuery(calQuery)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 116 in CalendarQuery
    converter=gdata.calendar.CalendarEventFeedFromString)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 108 in Query
    result = self.Get(uri, converter=converter)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/service.py", line 551 in Get
    'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 400, 'body': 'Invalid UserId alejandro.vera%40gmail.com', 'reason': 'Bad Request'}
 (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)
Comment 1 Roumano 2008-07-26 16:29:21 UTC
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 ?
Comment 2 alejandro vera 2008-07-26 21:01:37 UTC
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):
  • File "/var/lib/python-support/python2.5/conduit/Synchronization.py", line 825 in run
    self.dataproviderWrapper.module.refresh()
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 462 in refresh
    for event in self._get_all_events():
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 386 in _get_all_events
    eventFeed = self.service.CalendarQuery(calQuery)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 116 in CalendarQuery
    converter=gdata.calendar.CalendarEventFeedFromString)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 108 in Query
    result = self.Get(uri, converter=converter)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/service.py", line 551 in Get
    'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 400, 'body': 'Invalid UserId 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)



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
Comment 3 Roumano 2008-07-28 22:04:32 UTC
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):
  • File "/usr/lib/python2.5/site-packages/conduit/Synchronization.py", line 825 in run
    self.dataproviderWrapper.module.refresh()
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 462 in refresh
    for event in self._get_all_events():
  • File "/usr/lib/conduit/modules/GoogleModule/GoogleModule.py", line 386 in _get_all_events
    eventFeed = self.service.CalendarQuery(calQuery)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 116 in CalendarQuery
    converter=gdata.calendar.CalendarEventFeedFromString)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/calendar/service.py", line 108 in Query
    result = self.Get(uri, converter=converter)
  • File "/usr/lib/conduit/modules/GoogleModule/gdata/service.py", line 551 in Get
    'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 400, 'body': 'Invalid UserId
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)
Comment 4 HoellP 2008-07-30 12:24:28 UTC
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.
<-
Comment 5 nyall 2008-08-01 01:51:53 UTC
I'm seeing this same error, with an identical traceback, using a google-apps with a custom domain email address.
Comment 6 Vito Sansevero 2008-08-01 22:30:53 UTC
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. 

  • File "/usr/lib/conduit/modules/GoogleModule/gdata/service.py", line 551 in Get
    'reason': server_response.reason, 'body': result_body}
RequestError: {'status': 400, 'body': 'Invalid UserId foo.bar%40gmail.com', 'reason': 'Bad Request'}
 (Synchronization.py:703)


Comment 7 Antoine Cailliau 2008-10-05 14:06:06 UTC
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.
Comment 8 John Stowers 2008-10-05 14:52:14 UTC
I suggest decoding it before sending it to google. It has to be encoded in the XML for the XML to be valid.
Comment 9 David Verhasselt 2008-10-26 21:43:11 UTC
Created attachment 121397 [details] [review]
Solves by doing urllib.unquote(uri)
Comment 10 David Verhasselt 2008-10-26 21:44:02 UTC
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.
Comment 11 John Stowers 2009-02-16 01:56:59 UTC
*** Bug 537160 has been marked as a duplicate of this bug. ***
Comment 12 André Klapper 2018-07-01 09:03:27 UTC
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.