【问题标题】:Google's People API -- Issues Updating Contacts (Python)Google 的 People API——更新联系人的问题 (Python)
【发布时间】:2019-01-10 01:09:53
【问题描述】:

我有我希望更新的人的资源名称和 etag,但我无法理解实际执行更新的文档。

我查看了 API 文档,我觉得我对所有内容的结构都正确。但是,我不断收到两种类型的错误 400 响应:

1)

https://people.googleapis.com/v1/people/c1596007341306697743:updateContact?updatePersonFields=%7B%27emailAddresses%27%3A+%5B%7B%27value%27%3A+%27hello%40gmail.com%27% 7D%5D%7D&alt=json 返回“'update_person_fields' 处的值无效 (type.googleapis.com/google.protobuf.FieldMask), 字段 'update_person_fields',无效的字段掩码'{'emailAddresses': [{'值':'hello@gmail.com'}]}'。映射键应表示为 ["some_key"].">

2)

https://people.googleapis.com/v1/people/c1596007341306697743:updateContact?updatePersonFields=%7B%27emailAddresses%27%3A+%7B%27value%27%3A+%27hello%40gmail.com%27%7D% 7D&alt=json 返回“无效的 updatePersonFields 掩码路径:”{'email_addresses': {'value': 'hello@gmail.com'}}"。有效路径记录在 https://developers.google.com/people/api/rest/v1/people/updateContact.">

第一次发生在列表括号 ([ ]) 留在 updatePersonFields 参数中时,第二次发生在它们被删除时。

我正在尽最大努力完全在 Python 中实现这一点,并且在查看和创建联系人方面都取得了成功。似乎更新调用与其他调用有所不同。欢迎和赞赏任何和所有输入。

    profileCode = "people/blahblahblah" 
    accessToken = "%Eblahblahblah=" 

    update = API.people().updateContact(
        resourceName=profileCode,
        body={"resourceName":profileCode, "etag":accessToken},
        updatePersonFields={"emailAddresses":[{"value":"hello@gmail.com"}]}
        ).execute()

【问题讨论】:

  • 我可以问你关于你的问题吗?您要更新什么属性?
  • @Tanaike,正如 Amos Yuen 所指出的,updatePersonFields 参数有问题。
  • 感谢您提供更多信息。

标签: google-people-api


【解决方案1】:

请查看文档https://developers.google.com/people/v1/write-people#update-an-existing-contact中的示例。

updatePersonFields 只是应更新的字段的逗号分隔列表,例如emailAddresses,names。您正在尝试在 updatePersonFields 参数中指定要更新的联系人,该参数应在 HTTP 帖子正文中指定,而不是 updatePersonFields 参数。

【讨论】:

  • 谢谢!将字典元素移动到正文后,我还必须将 updatePersonFields 参数设置为字符串,而不是使用单个元素的列表。否则,它会响应来自 OP 的第一个错误。
  • 该页面不再有效。你有你使用的代码的例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多