使用Google Contacts API,您可以使用JSON获取联系信息,但有没有办法使用JSON更新它?我在尝试中没有取得任何成功,并且在我尝试时继续得到“prolog中不允许的内容”错误(似乎表明他们期望在PUT请求中使用XML)。
在GET请求中,我从以下URL获取:http://www.google.com/m8/feeds/contacts/[email protected]/full?alt=json
当我想使用XML I PUT将联系人更新为以下类型的URL(根据正在更新的联系人而有所不同):http://www.google.com/m8/feeds/contacts/[email protected]/base/0
我已经尝试将alt = json添加到PUT请求中,但这只是在黑暗中拍摄,因为我没有找到任何实际文档来确认使用JSON进行更新甚至是可能的。我正在使用firefox插件在JS中进行这种交互,所以这就是为什么我的偏好是使用JSON(我一直在使用E4X直到这一点并发现它非常笨拙)。
任何帮助将不胜感激!
我没有看到关于“在PUT中使用JSON更新谷歌联系人”的痕迹。
谷歌开发指南说:
要更新现有联系人,请首先检索要更新的条目,对其进行修改,然后将包含邮件正文中更新条目的PUT请求发送到联系人的编辑URL。使用application / atom + xml内容类型
(来自http://code.google.com/apis/contacts/docs/3.0/developers_guide_protocol.html#Updating)
虽然它没有以json格式记录关于PUT的联系人,但我尝试过这样的成功:
请求标题:
PUT https://www.google.com/m8/feeds/contacts/default/full/{contactId}?alt=json
Content-Type: application/json
请求机构:
{
"entry":{
"gd$name": {
"gd$fullName": {
"$t": "My Name"
},
"gd$givenName": {
"$t": "My"
},
"gd$familyName": {
"$t": "Name"
}
}
}
}
基本思想是使用类似于GET与alt=json
的结果的格式。
但是,在Batch operations for Contacts的情况下,我将收到错误消息Unsupported Output Format
。
希望这对于想要使用Google的Contacts API和JSON的人有所帮助。