11

使用 Google Contacts API,您可以使用 JSON 获取联系信息,但是有没有办法使用 JSON 更新它?我的尝试没有任何成功,并且在我尝试时继续收到“prolog 中不允许的内容”错误(似乎表明他们在 PUT 请求中期待 XML)。

在 GET 请求中,我从以下 URL 获取: http ://www.google.com/m8/feeds/contacts/user@gmail.com/full?alt=json

当我想使用 XML 更新联系人时,我 PUT 到以下类型的 URL(它因正在更新的联系人而异): http ://www.google.com/m8/feeds/contacts/user@gmail.com /基地/0

我已经尝试将 alt=json 添加到 PUT 请求中,但这只是在黑暗中拍摄,因为我还没有找到任何实际文档来确认使用 JSON 进行更新甚至是可能的。我在 JS 中通过 firefox 插件进行这种交互,这就是为什么我更喜欢使用 JSON 的原因(到目前为止,我一直在使用 E4X,发现它非常笨拙)。

任何帮助将不胜感激!

4

2 回答 2

5

我没有看到有关“在 PUT 中使用JSON更新 google 联系人”的任何痕迹。

谷歌开发指南说:

要更新现有联系人,首先检索要更新的条目,对其进行修改,然后将消息正文中包含更新条目的 PUT 请求发送到联系人的编辑 URL。使用 application/atom+xml 内容类型

(来自 http://code.google.com/apis/contacts/docs/3.0/developers_guide_protocol.html#Updating

于 2009-12-18T16:07:14.380 回答
1

虽然它没有记录有关PUT json 格式的联系人,但我已经尝试过这样的成功:

请求头:

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

但是,对于 Contacts 的批处理操作,我会收到错误消息Unsupported Output Format

希望这对想要使用带有 JSON 的 Google 联系人 API 的人有所帮助。

于 2018-08-31T09:26:12.507 回答