我希望对熟悉Google Calendar API的人来说相对容易,做了一些搜索,但API没有给我答案!
想象一下,Google帐户有3个日历,全部由该用户创建。
我正在尝试使用.NET Google API从该用户的SPECIFIC日历中获取事件,如下所示:
Calendar.userName = CalendarUserName;
Calendar.userPassword = CalendarPassword;
Calendar.feedUri = "https://www.google.com/calendar/feeds/default/private/full";
给我的是所有日历中所有事件的提要,这一切都非常好,但后来我需要解析它们(可能有一种方法可以识别,但我也不知道)。
对我来说,理想的是能够挑选并要求特定的日历,并且只能从那个日历中获取事件。
这可能吗?是否只能使用魔术cookie请求?
由于 邓肯
答案 0 :(得分:2)
你读过这个吗?
http://code.google.com/apis/calendar/data/2.0/reference.html#Event_feeds
这一个?
http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html#RetrievingEvents
我认为这是了解它的关键部分:
注意:其中一些代码段显示 将事件添加到默认日历 或者是特定用户的主要用户 日历(替换gmail地址 对于POST中的“默认”字符串 URI),但也可以添加事件 非主要日历也是如此。去做 这个,你只需要日历ID 可以从中检索到 allcalendars feed,也显示 在日历设置页面中 UI。此ID再次用于Feed中 URI: https://www.google.com/calendar/feeds/id/private/full
http://code.google.com/apis/calendar/data/2.0/developers_guide_dotnet.html#RetrievingCalendars
答案 1 :(得分:0)
Dim singleUseToken As String = Request.getString("token")
Session("sessionToken") = AuthSubUtil.exchangeForSessionToken(singleUseToken, Nothing)
Dim authFactory As GAuthSubRequestFactory = New GAuthSubRequestFactory("cl", "LeaveCalendar")
authFactory.Token = Session("sessionToken").ToString
Dim service As Service = New Service("cl", authFactory.ApplicationName)
service.RequestFactory = authFactory
Dim query As New CalendarQuery()
query.Uri = New Uri("https://www.google.com/calendar/feeds/default/owncalendars/full")
Dim resultFeed As AtomFeed = CType(service.Query(query), AtomFeed)
For Each entry As AtomEntry In resultFeed.Entries
Response.Write("Your calendar:" & entry.Title.Text)
Response.Write("<br>")
Response.Write("<br>Calendar id " & entry.SelfUri.ToString.Substring(64))
Next
我尝试过该链接,但始终收到错误,有关Atom内容的异常。 我改变了那个代码,特别是这2行:
1)Dim resultsFeed AsomFeed = CType(service.Query(query),AtomFeed)
2)对于每个条目AsomEntry在resultFeed.Entries
中我希望它可以帮助其他VB.NET用户