Shared Contacts APIを使用すると、クライアントアプリケーションは、Google Appsドメイン内のすべてのユーザーと共有されている外部の連絡先を取得および更新できます。共有の連絡先はAppsドメインのすべてのユーザーに表示され、すべてのGoogleサービスで連絡先リストにアクセスできます。
パブリッシュする共有連絡先のXML表現を作成します。このXMLは次のようになります種類の接触の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='[email protected]' displayName='E. Bennet' />
<gd:email rel='http://schemas.google.com/g/2005#home'
address='[email protected]' />
<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='[email protected]'
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>
要素の形式で置き換えます。
クライアントアプリケーションは、Shared Contacts APIを使用して、新しい共有連絡先を作成したり、既存の共有連絡先を編集または削除したり、特定の条件に一致する共有連絡先を照会することができます。
連絡先を削除するには、承認済みのDELETE
リクエストを連絡先の編集URLに送信します。
URLの形式は次のとおりです。USEREMAILとcontactIDの代わりに適切な値に
https://www.google.com/m8/feeds/contacts/{userEmail}/full/{contactId}
。
注:特別なuserEmail値defaultを使用して、認証されたユーザーを参照できます。
APIに送信された要求が別のクライアントの変更を上書きしないようにするには、連絡先エントリのEtag
をリクエストヘッダーに含める必要があります。 Etag
が古い場合
If-Match: Etag
は、サーバがHTTP 412 Precondition Failed
ステータスコードで応答します。
<!-- Request -->
DELETE /m8/feeds/contacts/default/full/contactId
If-match: Etag
...
<!-- Response -->
HTTP/1.1 200 OK
これらの手順はすべてわかりましたが、通常は問題なく動作します。その場合、上記の連絡先にはIdがありません!これはDirectoryフォルダーの一覧に表示されますが、通常の連絡先のように削除することはできません。 – valley