【问题标题】:Newly inserted Contact Not returned in first people:searchContacts新插入的联系人未在第一人中返回:searchContacts
【发布时间】:2021-08-10 12:19:36
【问题描述】:

由于弃用,我们正在尝试从 Google Contacts API 迁移到 Google People API。

使用 Google People API 创建联系人后出现一些奇怪的行为。

首先我们创建一个新联系人

POST https://people.googleapis.com/v1/people:createContact?sources=READ_SOURCE_TYPE_CONTACT&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json

{
  "names": [
    {
      "givenName": "Test",
      "familyName": "Contact"
    }
  ],
  "emailAddresses": [
    {
      "value": "test@tester.com.au"
    }
  ]
}

然后我们查询新创建的联系人

GET https://people.googleapis.com/v1/people:searchContacts?query=test%40tester.com.au&readMask=names%2CemailAddresses%2Cmetadata%2Cmemberships%2CuserDefined&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

搜索返回空结果

{}

如果我们现在再次查询,我们会得到预期的结果

{
  "results": [
    {
      "person": {
        "resourceName": "people/c1041359888227912421",
        "etag": "%EggBAj0JPhY3LhoBAiIMd0UrSkMrM21tMG89",
        .....
  ]
}

不确定这里发生了什么?还有其他人遇到这种奇怪的行为吗?

【问题讨论】:

  • 这听起来有点像传播问题。新插入的记录需要一段时间才能用于 GET 请求。虽然理论上你应该得到一个 4XX 错误“找不到联系人”或类似的东西 - 你在 INSERT 和 GET 之间等待多长时间?
  • 没关系,我测试了这个,即使在等待几个小时后它也是如此。
  • @iansedano 确实,这不是传播问题 - 唯一的解决方法是在插入后查询。尽管我确实记得在返回正确结果之前看到了多个查询。这是一个主要问题,因为我们使用电子邮件地址来匹配系统之间的记录。结果重复。

标签: google-api google-contacts-api google-people-api


【解决方案1】:

我已经为此提交了错误报告

https://issuetracker.google.com/188860467

一定要给它加星标,向谷歌表明你受到了影响,这也会让你订阅更新。

【讨论】:

    猜你喜欢
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 2014-08-19
    • 2019-08-10
    • 2016-05-01
    • 2012-10-14
    相关资源
    最近更新 更多