Выполнять пакетные операции

Если вы выполняете несколько операций, время, необходимое для отправки и получения всех этих HTTP-сообщений, может сделать ваше приложение медленным и не отвечать на запросы. С помощью пакетных запросов вы можете заставить сервер выполнять несколько операций с помощью одного HTTP-запроса. Основная идея заключается в том, что вы создаете ленту контактов и добавляете запись для каждой операции, которую хотите выполнить.

Пакетные запросы ограничены до 100 операций одновременно. Дополнительную информацию о пакетных операциях можно найти в разделе Пакетная обработка в протоколе данных Google . Изменения могут занять до 24 часов, прежде чем они отразятся в автозаполнении адреса электронной почты и в менеджере контактов.

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

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
      xmlns:gContact='http://schemas.google.com/contact/2008'
      xmlns:gd='http://schemas.google.com/g/2005'
      xmlns:batch='http://schemas.google.com/gdata/batch'>
  <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact' />
  <entry>
    <batch:id>1</batch:id>
    <batch:operation type='insert' />
    <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact'/>
    <gd:name>
      <gd:givenName>FIRST_NAME</gd:fullName>
      <gd:familyName>LAST_NAME</gd:fullName>
    </gd:name>
    <gd:email rel='http://schemas.google.com/g/2005#home'
      address='EMAIL_ADDRESS' primary='true'/>
  </entry>
  <entry>
    <batch:id>2</batch:id>
    <batch:operation type='insert' />
    <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact'/>
    <gd:name>
      <gd:givenName>FIRST_NAME</gd:fullName>
      <gd:familyName>LAST_NAME</gd:fullName>
    </gd:name>
    <gd:email rel='http://schemas.google.com/g/2005#home'
      address='EMAIL_ADDRESS'
      primary='true'/>
  </entry>
</feed>

Замените следующее:

  • FIRST_NAME : имя общего контакта, например Алекс.
  • LAST_NAME : фамилия общего контакта, например Ким.
  • EMAIL_ADDRESS : предпочтительный адрес электронной почты общего контакта, например alk@gmail.com.
,

Если вы выполняете несколько операций, время, необходимое для отправки и получения всех этих HTTP-сообщений, может сделать ваше приложение медленным и не отвечать на запросы. С помощью пакетных запросов вы можете заставить сервер выполнять несколько операций с помощью одного HTTP-запроса. Основная идея заключается в том, что вы создаете ленту контактов и добавляете запись для каждой операции, которую хотите выполнить.

Пакетные запросы ограничены до 100 операций одновременно. Дополнительную информацию о пакетных операциях можно найти в разделе Пакетная обработка в протоколе данных Google . Изменения могут занять до 24 часов, прежде чем они отразятся в автозаполнении адреса электронной почты и в менеджере контактов.

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

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
      xmlns:gContact='http://schemas.google.com/contact/2008'
      xmlns:gd='http://schemas.google.com/g/2005'
      xmlns:batch='http://schemas.google.com/gdata/batch'>
  <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact' />
  <entry>
    <batch:id>1</batch:id>
    <batch:operation type='insert' />
    <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact'/>
    <gd:name>
      <gd:givenName>FIRST_NAME</gd:fullName>
      <gd:familyName>LAST_NAME</gd:fullName>
    </gd:name>
    <gd:email rel='http://schemas.google.com/g/2005#home'
      address='EMAIL_ADDRESS' primary='true'/>
  </entry>
  <entry>
    <batch:id>2</batch:id>
    <batch:operation type='insert' />
    <category scheme='http://schemas.google.com/g/2005#kind'
      term='http://schemas.google.com/g/2008#contact'/>
    <gd:name>
      <gd:givenName>FIRST_NAME</gd:fullName>
      <gd:familyName>LAST_NAME</gd:fullName>
    </gd:name>
    <gd:email rel='http://schemas.google.com/g/2005#home'
      address='EMAIL_ADDRESS'
      primary='true'/>
  </entry>
</feed>

Замените следующее:

  • FIRST_NAME : имя общего контакта, например Алекс.
  • LAST_NAME : фамилия общего контакта, например Ким.
  • EMAIL_ADDRESS : предпочтительный адрес электронной почты общего контакта, например alk@gmail.com.