Во время игры с Календарем Google и CalDav я понял, что если для определенного события вы измените уведомление (Тревога), ETag события не будет изменить.
Теперь сравнение ETags необходимо, чтобы выяснить, когда изменяется данное событие (в CalDav ).
Запрос, который я использую для определения ETag,
<?xml version=\"1.0\" encoding=\"utf-8\"?><d:propfind xmlns:d=\"DAV:\" xmlns:cs=\"http://calendarserver.org/ns/\"><d:prop><d:getetag /></d:prop></d:propfind>
, который будет возвращать что-то вроде
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:caldav="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:ical="http://apple.com/ns/ical/">
<D:response xmlns:carddav="urn:ietf:params:xml:ns:carddav" xmlns:cm="http://cal.me.com/_namespace/" xmlns:md="urn:mobileme:davservices">
<D:href>/caldav/v2/myemail@gmail.com/events/</D:href>
<D:propstat>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response xmlns:carddav="urn:ietf:params:xml:ns:carddav" xmlns:cm="http://cal.me.com/_namespace/" xmlns:md="urn:mobileme:davservices">
<D:href>/caldav/v2/myemail%40gmail.com/events/xqrjsgs1gj35cpub2nnumntm5j%40google.com.ics</D:href>
<D:propstat>
<D:status>HTTP/1.1 200 OK</D:status>
<D:prop>
<D:getetag>"63723144835"</D:getetag>
</D:prop>
</D:propstat>
</D:response>
</D:multistatus>
Теперь, после того, как вы go и измените уведомление об этом событии в Календаре Google, вы продолжаете получать тот же ETag:
<D:getetag>"63723144835"</D:getetag>
Есть ли что-то еще, что я мог бы искать, чтобы узнать, когда уведомление / Тревога изменяется в мероприятие? или я что-то не так делаю?