2013-03-11 160 views
3

我正在使用Google Contacts API v3文档,OAuth Playground 2.0。Google Contact API v3 - 创建联系人时无法创建名称/标题

我可以通过获取请求拉取所有联系人。我可以使用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='[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> 

任何帮助非常感谢,谢谢。

回答

4

我也被这个刺痛了。我忽略了这个HTTP头添加到请求:

GData-Version: 3.0 

v3之前,要注明名称的方式是<atom:title>Full Name</atom:title>,而不是<gd:name>...</gd:name>。但我想最好只添加标题。