diff options
Diffstat (limited to 'extra/gnome-online-accounts/drop-google-password-interface-2.patch')
-rw-r--r-- | extra/gnome-online-accounts/drop-google-password-interface-2.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/extra/gnome-online-accounts/drop-google-password-interface-2.patch b/extra/gnome-online-accounts/drop-google-password-interface-2.patch new file mode 100644 index 000000000..9aa1ce28e --- /dev/null +++ b/extra/gnome-online-accounts/drop-google-password-interface-2.patch @@ -0,0 +1,74 @@ +From a0fd4cd595bd0fe6eb4015ea9050170319b16546 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray <debarshir@gnome.org> +Date: Wed, 19 Jun 2013 15:04:38 +0000 +Subject: google: Export CalDAV and CardDAV endpoints + +According to: +https://developers.google.com/google-apps/calendar/caldav/v2/guide/ +https://developers.google.com/google-apps/carddav/ + +See: https://bugzilla.gnome.org/show_bug.cgi?id=686804 + https://bugzilla.gnome.org/show_bug.cgi?id=688364 +--- +(limited to 'src/goabackend/goagoogleprovider.c') + +diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c +index 79f5f73..740c08e 100644 +--- a/src/goabackend/goagoogleprovider.c ++++ b/src/goabackend/goagoogleprovider.c +@@ -385,6 +385,7 @@ build_object (GoaProvider *provider, + gboolean contacts_enabled; + gboolean chat_enabled; + gboolean documents_enabled; ++ const gchar *email_address; + + account = NULL; + mail = NULL; +@@ -419,6 +420,7 @@ build_object (GoaProvider *provider, + } + + account = goa_object_get_account (GOA_OBJECT (object)); ++ email_address = goa_account_get_identity (account); + + /* Email */ + mail = goa_object_get_mail (GOA_OBJECT (object)); +@@ -427,8 +429,6 @@ build_object (GoaProvider *provider, + { + if (mail == NULL) + { +- const gchar *email_address; +- email_address = goa_account_get_identity (account); + mail = goa_mail_skeleton_new (); + g_object_set (G_OBJECT (mail), + "email-address", email_address, +@@ -457,8 +457,19 @@ build_object (GoaProvider *provider, + { + if (calendar == NULL) + { ++ gchar *uri_caldav; ++ ++ uri_caldav = g_strconcat ("https://apidata.googleusercontent.com/caldav/v2/", ++ email_address, ++ "/user", ++ NULL); ++ + calendar = goa_calendar_skeleton_new (); ++ g_object_set (G_OBJECT (calendar), ++ "uri", uri_caldav, ++ NULL); + goa_object_skeleton_set_calendar (object, calendar); ++ g_free (uri_caldav); + } + } + else +@@ -475,6 +486,9 @@ build_object (GoaProvider *provider, + if (contacts == NULL) + { + contacts = goa_contacts_skeleton_new (); ++ g_object_set (G_OBJECT (contacts), ++ "uri", "https://www.googleapis.com/.well-known/carddav", ++ NULL); + goa_object_skeleton_set_contacts (object, contacts); + } + } + |