1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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);
}
}
|