Realizar operações em lote

Se você estiver executando várias operações, o tempo necessário para enviar e receber todas essas mensagens HTTP poderá deixar o app lento e sem responder. Com as solicitações em lote, é possível fazer com que o servidor execute várias operações com uma única solicitação HTTP. A ideia básica é que você crie um feed de contatos e adicione uma entrada para cada operação que quiser realizar.

As solicitações em lote são limitadas a 100 operações por vez. Você pode encontrar mais informações sobre operações em lote em Processamento em lote no protocolo de dados do Google. As alterações podem levar até 24 horas para serem refletidas no preenchimento automático do endereço de e-mail e no gerenciador de contatos.

O exemplo de código a seguir mostra uma solicitação em lote que cria dois contatos compartilhados. No entanto, você também pode usar uma solicitação em lote para consultar, atualizar e excluir contatos. As entradas de atualização e exclusão exigem um link de edição para que a simultaneidade otimista funcione.

<?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>

Substitua:

  • FIRST_NAME: nome do contato compartilhado. Por exemplo, Alex.
  • LAST_NAME: o sobrenome do contato compartilhado, por exemplo, Kim.
  • EMAIL_ADDRESS: o endereço de e-mail preferencial do contato compartilhado, por exemplo, alk@gmail.com.