如果要执行多项操作,则发送和接收所有这些 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
:共享联系人的名字,例如小明。LAST_NAME
:共享联系人的姓氏,例如 Kim。EMAIL_ADDRESS
:共享联系人的首选电子邮件地址,例如 alk@gmail.com。