我正在使用Google Contacts API v3文档,OAuth Playground 2.0。
我可以通过get请求提取所有联系人。我可以使用POST来创建新的联系人,但似乎无法填充名称字段等。电子邮件和电话号码填写正常。
我一直在来自Contacts API v3 doc的请求正文中使用atom / xml,如下所示。
<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>
非常感谢任何帮助,谢谢。
答案 0 :(得分:5)
我也受到了这种刺痛。我忽略了将此HTTP标头添加到请求中:
GData-Version: 3.0
在v3之前,指明名称的方式是<atom:title>Full Name</atom:title>
而不是<gd:name>...</gd:name>
。但我想最好只添加标题。
答案 1 :(得分:0)
是的,您必须将GData-Version添加到HTTP请求标题:
[request setValue:@"3.0" forHTTPHeaderField:@"GData-Version"];