Wenn Sie mehrere Vorgänge ausführen, kann die Zeit, die zum Senden und Empfangen all dieser HTTP-Nachrichten benötigt wird, dazu führen, dass Ihre App langsam und nicht reaktionsschnell ist. Mit Batchanfragen können Sie dem Server mehrere Vorgänge mit einer einzigen HTTP-Anfrage ausführen lassen. Im Grunde erstellen Sie einen Kontaktfeed und fügen einen Eintrag für jeden Vorgang hinzu, den Sie ausführen möchten.
Batchanfragen sind auf jeweils 100 Vorgänge beschränkt. Weitere Informationen zu Batch-Vorgängen finden Sie unter Batchverarbeitung im Google-Datenprotokoll. Es kann bis zu 24 Stunden dauern, bis die Änderungen in der automatischen Vervollständigung von E-Mail-Adressen und im Kontaktmanager angezeigt werden.
Das folgende Codebeispiel zeigt eine Batchanfrage, mit der zwei freigegebene Kontakte erstellt werden. Sie können eine Batchanfrage aber auch verwenden, um Kontakte abzufragen, zu aktualisieren und zu löschen. Für die Einträge „Aktualisieren“ und „Löschen“ ist ein Bearbeitungslink erforderlich, damit die optimistische Gleichzeitigkeit funktioniert.
<?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>
Ersetzen Sie Folgendes:
FIRST_NAME
: Vorname des geteilten Kontakts, z. B. Alex.LAST_NAME
: Der Nachname des freigegebenen Kontakts, z. B. Müller.EMAIL_ADDRESS
: Die bevorzugte E-Mail-Adresse des freigegebenen Kontakts, z. B. alk@gmail.com.