【问题标题】:Query ADH using a filter使用过滤器查询 ADH
【发布时间】:2026-01-03 13:15:01
【问题描述】:

我正在尝试查询 Google ADH API (https://developers.google.com/ads-data-hub/reference/rest/v1/customers.adsDataLinks/list)

作为参考,我得到一个响应示例:

  {'name': 'customers/68689789/adsDataLinks/XXXXXXXXXX',
  'linkedEntity': {'entityId': '897777777', 'type': 'GOOGLE_ADS_CAMPAIGN'},
  'parentEntity': {},
  'platform': 'GOOGLE_ADS',
  'customerLink': {'name': 'xyz/780/78',
  'customerId': '97896868',
   'displayName': 'VENDOR_ID'},
  'status': 'APPROVED',
  'createTime': '2020-04-04T16:51:47.738710Z',
  'updateTime': '2020-04-04T16:51:47.738710Z'
}

我已设置好一切,以便可以使用客户端查询 ADH。我写了一个函数

        datesss='2020-04-04T16:51:47.738710Z'
        kwargs = {
            'parent': self.parent,
            'filter':f"updateTime={datesss}",
            'pageSize': 1,
            'pageToken': pageToken
        }
        request = self.service.customers().adsDataLinks().list(**kwargs)
        response = self.execute_adh_request(request)

        return response.get('links', []), response.get('nextPageToken', '')

我收到此错误: HttpError:https://adsdatahub.googleapis.com/v1/customers/802/adsDataLinks?filter=updateTime%3D2020-04-04T16%3A51%3A47.738710Z&pageSize=1&pageToken=&key=AIzaSyBsDsBR-PhJu2kUiH9O_tRgLfdLP9L_YUo&alt=json 时返回“无效的过滤器表达式:updateTime=2020-04-04T16:51:47.738710Z(错误 0420)”>

然后我将过滤器表达式括起来,例如

'filter':f"updateTime='{datesss}'"

注意:这只是一个示例,我想提取所有创建日期为 2021 年的链接 请有人指导我如何使用过滤器功能来做到这一点。

【问题讨论】:

    标签: python python-3.x google-api google-api-client google-client


    【解决方案1】:

    目前,ADH 不支持对 createTime、updateTime 进行过滤

    【讨论】:

      【解决方案2】:

      我认为过滤器目前仅支持文本字段,我已经测试了标题和电子邮件。日期过滤器不适用于上述相同的错误。 另外需要注意的是,文本搜索很挑剔,仅在使用通配符时才有效示例:

      'filter':"title=vendor*"
      

      【讨论】:

        最近更新 更多