如何从用户的访问令牌获取Google日历Feed?

时间:2012-07-04 19:18:08

标签: c# asp.net oauth-2.0 google-calendar-api

使用OAuth我确实从Google获得了访问令牌。 Google附带的样本甚至是这个样本:

http://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples

展示如何使用Tasks API。但是,我想使用Calendar API。我想访问用户的日历。谁能告诉我该怎么做?

1 个答案:

答案 0 :(得分:0)

看一下样品:
Getting Started with the .NET Client Library
在上面链接的页面的右侧,有一个屏幕截图,显示Google Data API solution中包含的示例项目。他们证明非常有帮助(我用它们来启动我自己的Google日历应用程序)。

我建议您保持自己的解决方案和示例解决方案的开放性。这样您就可以在示例和自己的实现之间切换。

我还建议使用NuGet包:

  • Google.GData.AccessControl
  • Google.GData.Calendar
  • Google.GData.Client
  • Google.GData.Extensions
  • and more ...

通过这种方式,您可以轻松保持最新状态。


获取用户日历的示例:

public void LoadCalendars()
{
    // Prepare service
    CalendarService service = new CalendarService("Your app name");
    service.setUserCredentials("username", "password");

    CalendarQuery query = new CalendarQuery();
    query.Uri = new Uri("https://www.google.com/calendar/feeds/default/allcalendars/full");
    CalendarFeed calendarFeed = (CalendarFeed)service.Query(query);

    Console.WriteLine("Your calendars:\n");
    foreach(CalendarEntry entry in calendarFeed.Entries)
    {
        Console.WriteLine(entry.Title.Text + "\n");
    }
}