在Google共享联系人中创建的幻像条目

时间:2016-07-26 16:48:09

标签: google-api google-admin-sdk google-oauth2 google-shared-contacts admin-sdk

在针对Google Contacts v3 API(范围https://www.google.com/m8/feeds/)进行开发和测试时,我在公司的共享联系人列表(即目录文件夹)中创建了一个条目,该条目没有ID也无法点击(“未找到联系人“)。 因此我无法删除该条目。 请求“列表联系人”时也不会列出它(totalResults:0)。

Google for Work Support在这里无法提供帮助,并建议在此论坛中提问。 我希望有人知道如何摆脱那个幽灵入口。

2 个答案:

答案 0 :(得分:1)

正如预期的那样,删除操作必须由Google完成,并且无法通过我方的额外API调用进行删除。

答案 1 :(得分:0)

Shared Contacts API允许客户端应用程序检索和更新共享给Google Apps域中所有用户的外部联系人。共享联系人对Apps域的所有用户都可见,并且所有Google服务都可以访问联系人列表。

创建要发布的共享联系人的XML表示形式。此XML需要采用Contact类型的Atom元素的形式,可能如下所示:

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005'>
<atom:category scheme='http://schemas.google.com/g/2005#kind'
term='http://schemas.google.com/contact/2008#contact' />
<gd:name>
<gd:givenName>Elizabeth</gd:givenName>
<gd:familyName>Bennet</gd:familyName>
<gd:fullName>Elizabeth Bennet</gd:fullName>
</gd:name>
<atom:content type='text'>Notes</atom:content>
<gd:email rel='http://schemas.google.com/g/2005#work'
primary='true'
address='liz@gmail.com' displayName='E. Bennet' />
<gd:email rel='http://schemas.google.com/g/2005#home'
address='liz@example.org' />
<gd:phoneNumber rel='http://schemas.google.com/g/2005#work'
primary='true'>
(206)555-1212
</gd:phoneNumber>
<gd:phoneNumber rel='http://schemas.google.com/g/2005#home'>
(206)555-1213
</gd:phoneNumber>
<gd:im address='liz@gmail.com'
protocol='http://schemas.google.com/g/2005#GOOGLE_TALK'
primary='true'
rel='http://schemas.google.com/g/2005#home' />
<gd:structuredPostalAddress
rel='http://schemas.google.com/g/2005#work'
primary='true'>
<gd:city>Mountain View</gd:city>
<gd:street>1600 Amphitheatre Pkwy</gd:street>
<gd:region>CA</gd:region>
<gd:postcode>94043</gd:postcode>
<gd:country>United States</gd:country>
<gd:formattedAddress>
1600 Amphitheatre Pkwy Mountain View
</gd:formattedAddress>
</gd:structuredPostalAddress>

</atom:entry>

https://www.google.com/m8/feeds/contacts/example.com/full

Google服务器使用您发送的条目创建联系人,然后以HTTP 201 CREATED元素的形式返回<entry>状态代码以及新联系人的副本。

您的客户端应用程序可以使用共享联系人API创建新的共享联系人,编辑或删除现有的共享联系人,以及查询符合特定条件的共享联系人。

  

要删除联系人,请将已授权的DELETE请求发送给该联系人的修改网址。

网址格式为:

https://www.google.com/m8/feeds/contacts/{userEmail}/full/{contactId}

使用适当的值代替 userEmail contactID

注意:特殊的userEmail值默认值可用于引用经过身份验证的用户。

为确保发送给API的请求不会覆盖其他客户的更改,应在请求标头中提供联系人条目Etag

If-Match: Etag

如果Etag过时,服务器会以HTTP 412 Precondition Failed状态代码回复。

<!-- Request -->
DELETE /m8/feeds/contacts/default/full/contactId
If-match: Etag
...
<!-- Response -->
HTTP/1.1 200 OK