【问题标题】:Google People API - updateContact not fully updatingGoogle People API - updateContact 未完全更新
【发布时间】:2018-05-25 06:36:33
【问题描述】:

我正在使用 Google PeopleService“updateContact”端点对联系人执行更新操作,我注意到某些字段未正确更新。我已经使用“get”端点获取了一个联系人,并更新了联系人的工作类型地址以添加以前没有的邮政编码,然后使用 updateContact 将联系人提交回来。我收到 200 OK 响应,但返回的联系人对象未显示更改。我在使用 .NET 客户端库和 API 资源管理器时看到了这种行为。

更新前的地址数据:

"addresses": [
{
    {
    "metadata": {
        "source": {
            "type": "CONTACT",
            "id": "61327fef08903be4"
        }
    },
    "formattedValue": "123 Anywhere Street\nSometown",
    "type": "work",
    "formattedType": "Work",
    "streetAddress": "123 Anywhere Street",
    "city": "Sometown"
}]

地址数据在更新前已更改:

"addresses": [
{
    {
    "metadata": {
        "source": {
            "type": "CONTACT",
            "id": "61327fef08903be4"
        }
    },
    "formattedValue": "123 Anywhere Street\nSometown",
    "type": "work",
    "formattedType": "Work",
    "streetAddress": "123 Anywhere Street",
    "city": "Sometown",
    "postalCode": "55555"
}]

响应更新请求接收到的地址数据:

"addresses": [
{
    {
    "metadata": {
        "source": {
            "type": "CONTACT",
            "id": "61327fef08903be4"
        }
    },
    "formattedValue": "123 Anywhere Street\nSometown",
    "type": "work",
    "formattedType": "Work",
    "streetAddress": "123 Anywhere Street",
    "city": "Sometown"
}]

在上面的示例中,期望值为“55555”的新邮政编码将显示在地址对象中。

我在更新人员字段掩码中指定了完整的可能字段集(具体而言,在本例中为“地址”字段),并确认相关联系人的资源名称和 ETag 准确且最新,并且在更新完成后我正在提取最新的副本。

这是人员服务更新端点的已知问题吗?我需要在请求中指定更多内容以强制执行文档中未记录的更新吗?

【问题讨论】:

  • 似乎存在一个错误,除非更改了 formattedValue,否则地址字段不会更新。
  • 看来你是对的;添加对 formattedValue 属性的强制重新评估解决了丢失的更新。谢谢!

标签: c# google-people-api


【解决方案1】:

已针对此错误提交了修复程序,地址现在应该可以正确更新,而无需修改 formattedValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多