0

我想查询我的 Intercom.io 应用程序的 API 并获取具有特定嵌套键值对的用户子集。

client.users.listBy() 有效,但仅适用于作为用户对象的直接属性的键,例如 client.users.listBy({ email: someUsersEmail@domain.com }) 工作得很好,因为 email 是直接属性在用户实例上。

我的用户数据的结构是这样的

user = {
  ...
  email: someUsersEmail@domain.com,
  ...,
  customer_attributes: {
    ...,
    affiliate_code: 'someAffiliateCode',
    ...
  },
  ...  
}

我想找到所有 customer_attributes.affilate_code 等于affiliate_code 的用户:'someAffiliateCode'。我想像这样查询API:

client.users.listBy({customer_attributes.affiliate_code: 'someAffiliateCode'}, function(err, resp) {
    if (err) throw err
    console.log(resp)
})

但我收到了这个错误

client.users.listBy({customer_attributes.affiliate_code: 'onetouch'}, function(err, resp) {
                                        ^
SyntaxError: Unexpected token .

有谁知道我如何像上面描述的那样查询对讲 API 以获取嵌套的键值对?谢谢!

4

1 回答 1

0

正如解释器所暗示的那样,那个“。” 键名中的 JavaScript 无效。

完成您正在寻找的唯一方法是在对讲机 UI 中使用“affiliate_code = onetouch”预定义一个段。然后,您可以使用该细分 ID 以编程方式列出用户。https://developers.intercom.io/reference#list-by-tag-segment-company

client.users.listBy({ segment_id: 'foo' }, callback);
于 2016-06-09T19:58:59.050 回答