好的,事情开始对我有用了。但是,现在我正在尝试更新联系人,并且正在获取"缺少资源版本ID"信息。步骤进行:
1)通过API检索联系 - 成功 2)更新联系人中的值 3)使用new" entry"写出一个xml文件。 - xml验证 4)尝试做PUT,我得到了错误。
put命令我使用:
curl -s --request PUT \
--header If-Match: * \
--header "Content-Type: application/atom+xml" \
--header "Depth: 0" \
--header "Authorization: Bearer <auth code> \
--data-binary @/tmp/GooglePut0AGQzE \
https://www.google.com/m8/feeds/contacts/default/full/4375e4498ef0b274
xml是:
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gContact="http://schemas.google.com/contact/2008"
xmlns:gd="http://schemas.google.com/g/2005">
<category scheme="http://schemas.google.com/g/2005#kind"
term="http://schemas.google.com/contact/2008#contact" />
<id>http://www.google.com/m8/feeds/contacts/default/base/4375e4498ef0b274</id>
<gContact:externalId label="enduser_acnt" rel="http://schemas.google.com/g/2005#customer" value="6006533" />
<gd:name><gd:givenName>Dwayne</gd:givenName><gd:familyName>Johnson</gd:familyName></gd:name>
<title type="text">Andy Wallace</title>
<content type="text">Hello</content>
<gd:organization rel="http://schemas.google.com/g/2005#other">
<gd:orgName>iHOUSEweb, Inc</gd:orgName>
<gd:orgTitle>Engineer</gd:orgTitle>
</gd:organization>
<gd:structuredPostalAddress rel="http://schemas.google.com/g/2005#home" primary="true">
<gd:street>100 Smell St</gd:street>
<gd:city>Smellville</gd:city>
<gd:region>CA</gd:region>
</gd:structuredPostalAddress>
<gd:email rel="http://schemas.google.com/g/2005#work" address="awallace@ihouseweb.com" primary="true" />
<gd:phoneNumber rel="http://schemas.google.com/g/2005#home" primary="true" >333-444-3333</gd:phoneNumber>
<gd:phoneNumber rel="http://schemas.google.com/g/2005#work" >222-333-4444</gd:phoneNumber>
</entry>
有关错误含义的任何建议?我试图剥离各种数据,指定/不指定&#34; If-Match:*&#34;标题,但似乎没有什么可以扭转局势。
感谢, 安迪
答案 0 :(得分:1)
添加if-match标头字段,并确保使用最新版本运行API。
答案 1 :(得分:1)
好的,找到了我的问题。我正在使用&#34; If-Match&#34;标题错了。 DOH ...
curl -s --request PUT \
--header "If-Match: *" \
--header "Content-Type: application/atom+xml" \
--header "Depth: 0" \
--header "Authorization: Bearer <auth key>" \
--data-binary @/tmp/GooglePutwAdE69 \
https://www.google.com/m8/feeds/contacts/default/full/4375e4498ef0b274
感谢dumbgamergirl,把我的大脑指向了正确的方向