google calendar api start-min / start-max не возвращает правильные значения - PullRequest
3 голосов
/ 09 февраля 2011

Я запрашиваю API календаря Google, чтобы вернуть даты между указанными мною датами начала и окончания. однако, при этом я получаю даты, которые не должны быть возвращены. календарь, к которому я обращаюсь, имеет много дат между январем и февралем, но он возвращает даты 2010 года и даты за пределами января / февраля вот моя строка

Я заменил местоположение календаря на демо. при этом я использую ссылку на общедоступный календарь

http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full?alt=json&singleevents=true&sortorder=ascending&start-min2011-1-01T00:00:00%20&start-max2011-2-20T23:59:59

вот даты, когда я возвращаюсь.

[INFO] starttime = 2010-01-09T00:00:00.000Z end time = 2010-01-09T02:00:00.000Z
[INFO] starttime = 2010-01-07T21:00:00.000Z end time = 2010-01-07T22:00:00.000Z
[INFO] starttime = 2010-01-12T00:30:00.000Z end time = 2010-01-12T02:30:00.000Z
[INFO] starttime = 2010-01-09T20:00:00.000Z end time = 2010-01-09T20:45:00.000Z
[INFO] starttime = 2010-01-16T20:00:00.000Z end time = 2010-01-16T21:30:00.000Z
[INFO] starttime = 2010-01-16T16:00:00.000Z end time = 2010-01-16T17:30:00.000Z
[INFO] starttime = 2010-01-14T00:30:00.000Z end time = 2010-01-14T01:15:00.000Z
[INFO] starttime = 2010-01-09T23:00:00.000Z end time = 2010-01-10T02:00:00.000Z
[INFO] starttime = 2010-01-16T21:00:00.000Z end time = 2010-01-16T22:00:00.000Z
[INFO] starttime = 2010-01-10T20:00:00.000Z end time = 2010-01-10T21:00:00.000Z
[INFO] starttime = 2010-01-14T22:00:00.000Z end time = 2010-01-14T23:00:00.000Z
[INFO] starttime = 2010-01-12T00:30:00.000Z end time = 2010-01-12T01:00:00.000Z
[INFO] starttime = 2010-01-11T16:30:00.000Z end time = 2010-01-11T17:00:00.000Z
[INFO] starttime = 2010-01-16T20:00:00.000Z end time = 2010-01-16T20:45:00.000Z
[INFO] starttime = 2010-01-12T16:00:00.000Z end time = 2010-01-12T16:30:00.000Z
[INFO] starttime = 2010-01-21T21:00:00.000Z end time = 2010-01-21T22:00:00.000Z
[INFO] starttime = 2010-04-22T20:30:00.000Z end time = 2010-04-22T21:15:00.000Z
[INFO] starttime = 2010-04-03T14:30:00.000Z end time = 2010-04-03T17:00:00.000Z
[INFO] starttime = 2010-03-25T20:00:00.000Z end time = 2010-03-25T22:00:00.000Z
[INFO] starttime = 2010-04-23T15:30:00.000Z end time = 2010-04-23T16:00:00.000Z
[INFO] starttime = 2010-02-03T22:00:00.000Z end time = 2010-02-03T23:00:00.000Z
[INFO] starttime = 2010-05-01T19:00:00.000Z end time = 2010-05-01T21:00:00.000Z
[INFO] starttime = 2010-02-13T23:00:00.000Z end time = 2010-02-14T02:00:00.000Z 
[INFO] starttime = 2010-04-30T21:00:00.000Z end time = 2010-04-30T22:30:00.000Z
[INFO] starttime = 2010-03-07T19:00:00.000Z end time = 2010-03-07T20:30:00.000Z

Справочник по API Google: http://code.google.com/apis/calendar/data/2.0/reference.html#Parameters

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Самая большая проблема здесь заключается в вашем синтаксисе GET.У вас есть ключи и значения, но нет символа назначения.Другими словами, вам нужны знаки равенства.

Кроме того, вам нужны ведущие 0 и удалить это надоедливое% 20.

Попробуйте это:

http://www.google.com/calendar/feeds/developer-calendar@google.com/public/full?alt=json&singleevents=true&sortorder=ascending&start-min=2011-01-01T00:00:00&start-max=2011-02-20T23:59:59

0 голосов
/ 09 февраля 2011

В размещенном вами URL-адресе у вас есть (извлечено):

start-min2011-1-01T00:00:00%20&start-max2011-2-20T23:59:59

Это должно быть:

start-min=2011-01-01T00:00:00&start-max=2011-02-21T00:00:00

Вам не хватает символов "=" и месяцазначения должны быть двузначными числами.Значение "start-max" равно exclusive , что удобно, потому что вам не нужно делать эти вещи "23:59:59";просто используйте полночь следующего дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...