Cómo realizar operaciones por lotes

Si realizas varias operaciones, el tiempo que tarda enviar y recibir todos esos mensajes HTTP puede hacer que tu app funcione con lentitud y no responda. Con las solicitudes por lotes, puedes hacer que el servidor realice varias operaciones con una sola solicitud HTTP. La idea básica es crear un feed de contactos y agregar una entrada para cada operación que desees realizar.

Las solicitudes por lotes tienen un límite de 100 operaciones a la vez. Puedes encontrar más información sobre las operaciones por lotes en Procesamiento por lotes en el Protocolo de datos de Google. Los cambios pueden tardar hasta 24 horas en reflejarse en el autocompletado de la dirección de correo electrónico y en el administrador de contactos.

En la siguiente muestra de código, se muestra una solicitud por lotes que crea 2 contactos compartidos. Sin embargo, también puedes usar una solicitud por lotes para consultar, actualizar y borrar contactos. Las entradas de actualización y eliminación requieren un vínculo de edición para que funcione la simultaneidad optimista.

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

Reemplaza lo siguiente:

  • FIRST_NAME: Nombre del contacto compartido, por ejemplo, Alex.
  • LAST_NAME: El apellido del contacto compartido, por ejemplo, Kim.
  • EMAIL_ADDRESS: Es la dirección de correo electrónico preferida del contacto compartido, por ejemplo, alk@gmail.com.