我正在尝试将.net客户端库用于Google日历。我可以获取日历列表并获取日历上的事件列表。但是,每个日历最多可获得250个项目。我如何访问其余的?我知道Google.Apis.Calendar.v3.EventsResource.ListRequest中的'pagetoken',但是在下面的代码示例中,itemlistreq.PageToken仍然为null,即使对于超过250个项目的日历也是如此。
var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization);
var initializer = new BaseClientService.Initializer();
initializer.Authenticator = auth;
var calsrv = new CalendarService(initializer);
//Get list of calendars
var list = calsrv.CalendarList.List().Execute().Items;
//Get entry list for each calendar
foreach(var cal in list)
{
var itemlistreq = calsrv.Events.List(cal.Id);
var itemlistex = itemlistreq.Execute();
var itemlist = itemlistex.Items;
//Here, itemlistreq.PageToken == null, even if itemlist has 250 entries.
}
答案 0 :(得分:1)
您是否尝试更改请求中的MaxResult属性? 例如,尝试执行以下操作:
var itemlistreq = calsrv.Events.List(cal.Id);
itemlistreq.MaxResults = 10000;
var itemlistex = itemlistreq.Execute();
var itemlist = itemlistex.Items;
更新: 尝试从Events类(在您的情况下为itemlistex)中获取NextPageToekn属性
var itemlistreq = calsrv.Events.List(cal.Id);
var itemlistex = itemlistreq.Execute();
var token = itemlistex.NextPageToken; // THAT IS THE TOKEN YOU ARE LOOKING FOR
var itemlist = itemlistex.Items;
然后您可以在itemlistex.PageToken属性上设置它以获取更多事件......
答案 1 :(得分:0)
MaxResult限制为2500项,因此10000将无效