Контакты Google, eTags, Обновлены изменения при каждом доступе

Я пытаюсь использовать eTag от звонка, чтобы получить контакты Google. Поскольку на верхнем уровне есть eTag, я надеялся, что смогу проверить его, чтобы определить, изменилось ли что-либо в наборе данных контактов. Вот моя просьба:

URL запроса: https://www.google.com/m8/feeds/contacts/default/full/?max-results=0 Заголовки запроса: Авторизация: Глубина канала: 1 GData-Версия: 3.0 Тип содержимого: text/xml

Я думаю, что если я запрошу 0 результатов, у меня будет только та информация, которая мне нужна. Я могу сравнить eTag с тем, который я сохранил, и, если нет изменений, не было никаких изменений в любых контактах. XML я получаю обратно:

<?xml version="1.0" encoding="UTF-8"?>
<feed gd:etag="&quot;QXYyfzVSLyt7I2A9XRRQFkwJRAA.&quot;" xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">
 <id><email address here></id>
 <updated>2015-02-11T00:09:00.897Z</updated>
 <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/>
 <title>Joe's Contacts</title>
 <link rel="alternate" type="text/html" href="https://www.google.com/"/>
 <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/joe%40ihouseweb.com/full"/>
 <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/joe%40ihouseweb.com/full"/>
 <link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/joe%40ihouseweb.com/full/batch"/>
 <link rel="self" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/joe%40ihouseweb.com/full?max-results=0"/>
 <link rel="next" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/joe%40ihouseweb.com/full?max-results=0&amp;start-index=1"/>
 <author>
  <name>Joe</name>
  <email>joe@ihouseweb.com</email>
 </author>
 <generator version="1.0" uri="http://www.google.com/m8/feeds">Contacts</generator>
 <openSearch:totalResults>42</openSearch:totalResults>
 <openSearch:startIndex>1</openSearch:startIndex>
 <openSearch:itemsPerPage>0</openSearch:itemsPerPage>
</feed>

Все выглядит хорошо... за исключением того, что каждый раз, когда я звоню, обновленная дата и eTag возвращаются по-разному. Я могу сделать 10 звонков подряд, и каждый раз eTag отличается. Разве это не правильный способ использования API? Если eTag каждый раз возвращается по-другому, то я не могу использовать его, чтобы определить, что-то изменилось. Разве не для этого предназначен eTag?

Энди

Вот пример - я делаю запрос выше 10 раз с интервалом в 5 секунд. Это мой личный аккаунт, поэтому я уверен, что никто не меняет никаких ценностей на меня. Обратите внимание, что значения eTag и "обновленные" отличаются каждый раз. Первый столбец - время, когда я сделал запрос (PST), второй и третий - результирующие eTag и обновленные значения.

16:38:30: "SHYyfTVSLyt7I2A9XRRQGEoORAQ.": 2015-02-14T00: 38: 29.895Z

16:38:36: "RHY-fjVSLyt7I2A9XRRQGEoORAU".: 2015-02-14T00: 38: 35.856Z

16:38:42: "QHk9ezVSLyt7I2A9XRRQGEoORAY.": 2015-02-14T00: 38: 41.763Z

16:38:47: "Rns6cTVSLyt7I2A9XRRQGEoORAY".: 2015-02-14T00: 38: 47.519Z

16:38:53: "Qnw-fzVSLyt7I2A9XRRQGEoORAc.": 2015-02-14T00: 38: 53.257Z

16:38:59: "SXc5ezVSLyt7I2A9XRRQGEoORAc.": 2015-02-14T00: 38: 58.923Z

16:39:05: "RXg5ezVSLyt7I2A9XRRQGEoORAA.": 2015-02-14T00: 39: 04.623Z

16:39:10: "QX06cTVSLyt7I2A9XRRQGEoORAE".: 2015-02-14T00: 39: 10.319Z

16:39:16: "R346eDVSLyt7I2A9XRRQGEoORAE".: 2015-02-14T00: 39: 16.010Z

16:39:22: "QHgyfjVSLyt7I2A9XRRQGEoORAI.": 2015-02-14T00: 39: 21.696Z

0 ответов

Другие вопросы по тегам