使用JSON更新Google的联系人API

11
使用Google Contacts API可以使用JSON获取联系人信息,但是否有办法使用JSON更新联系人信息?我尝试过几次都没有成功,并且在尝试时一直收到“XML声明不允许的内容”错误(这似乎表明它们期望在PUT请求中使用XML)。
在GET请求中,从以下URL获取: http://www.google.com/m8/feeds/contacts/user@gmail.com/full?alt=json 当我想要使用XML更新联系人时,我会将其放到以下类型的URL中(根据正在更新的联系人而变化): http://www.google.com/m8/feeds/contacts/user@gmail.com/base/0 我尝试在PUT请求中添加alt=json,但这只是一个试探,因为我还没有找到任何实际文档来确认是否可能使用JSON进行更新。 我正在使用Firefox插件中的JS执行此交互,所以我的首选项是使用JSON(到目前为止我一直在使用E4X,但发现它相当麻烦)。
如有帮助,不胜感激!
2个回答

5

1
尽管它没有记录关于以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"
      }
    }
  }
}

基本思路是使用类似于使用alt=jsonGET结果格式。
然而,在批量操作联系人的情况下,我会收到错误消息不支持的输出格式
希望这对想要使用Google联系人API与JSON的人有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接