执行批量操作

如果您要执行多个操作,那么发送和接收所有这些 HTTP 消息所需的时间可能会导致应用运行缓慢且无响应。借助批量请求,您可以让服务器通过单个 HTTP 请求执行多个操作。基本思路是,您创建一个联系人 Feed,并为要执行的每项操作添加条目。

批量请求一次最多只能包含 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:所分享联系人的名字,例如 Alex。
  • LAST_NAME:共享联系人的姓氏,例如 Kim。
  • EMAIL_ADDRESS:共享联系人的首选电子邮件地址,例如 alk@gmail.com。