与Google日历同步

时间:2010-12-02 08:00:39

标签: c# google-calendar-api

你们知道Google日历是否有任何“推送”服务吗?从特定时间戳开始,是否有可能获得用户日历的所有更改?

4 个答案:

答案 0 :(得分:3)

此页面:http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html 包含您需要的所有信息,包括示例。

它将向您展示如何获取和推送项目,以及如何按照您的建议查询项目。

希望它有所帮助。

答案 1 :(得分:3)

如果您使用Updated-min = lastsynctime,您将获得正确的新的,更新的,dleeted事件。

 string formatedDate = "";
        EventQuery query = new EventQuery();
        DateTime? time;
        if (!string.IsNullOrEmpty(startDate))
        {
            time = Convert.ToDateTime(startDate);
            formatedDate = string.Format("{0:s}", time);

            // Create the query object:
            query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full?updated-min=" + formatedDate);
        }
        else
        {
            query.Uri = new Uri("http://www.google.com/calendar/feeds/" + service.Credentials.Username + "/private/full");
        }


        // Tell the service to query:
        EventFeed calFeed = service.Query(query);
        return calFeed.Entries.Cast<EventEntry>();

答案 2 :(得分:2)

自2010年起被问到了问题,但是2013年我谷歌发布了推送通知服务,只要活动中有任何手动更改,就可以通知您的服务网址

从谷歌检查documentatoin

  

https://developers.google.com/google-apps/calendar/v3/push?hl=en

答案 3 :(得分:-1)

确定

var service = new CalendarService(domainName);
service.setUserCredentials(email, pwd);

// Create the query object:
EventQuery query = new EventQuery();
query.Uri = new Uri(string.Format("https://www.google.com/calendar/feeds/{0}/private/full", email));

// Tell the service to query:
EventFeed calFeed = service.Query(query);
return calFeed.Entries.AsEnumerable().Cast<EventEntry>().Where(entry => ???);
在'query'对象中你可以添加你想要的条件,例如'query.StartDate'