Realizar operações em lote

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

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

O exemplo de código abaixo 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 concorrência 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: o 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.