Marketo Custom Objects REST API返回无效filterType错误求解决方案
Marketo自定义对象API调用错误及字段获取解决方案
错误原因
出现code:1003错误,是因为指定的filterType=eventuserid并非目标自定义对象上已启用过滤属性(filterable)的字段。Marketo自定义对象API要求filterType必须是该对象中标记为可过滤的字段——要么eventuserid不是这个自定义对象的字段,要么它未被设置为可过滤。
解决步骤
1. 查询自定义对象的可过滤字段
先调用元数据接口,确认目标自定义对象支持哪些过滤字段:
GET /rest/v1/customobjects/{{customObjectAPIName}}/describe.json?access_token=YOUR_ACCESS_TOKEN
在返回的JSON中,找到fields数组,查看每个字段的filterable属性——只有值为true的字段才能作为filterType使用,同时也能确认你需要获取的所有字段是否存在于该对象中。
2. 修正请求端点
根据元数据查询结果,替换为正确的可过滤字段作为filterType。假设正确的用户ID可过滤字段为eventUserId,则请求修改为:
GET /rest/v1/customobjects/{{customObjectAPIName}}/list.json?access_token=YOUR_ACCESS_TOKEN&filterType=eventUserId&filterValues=EVENT_USER_ID&fields=answeredpolls,answeredsurveys,archiveminutes,askedquestions,attendedarchive,attendedlive,Breakoutname1,Breakoutname2,Breakoutname3,Breakoutname4,Certificationwidgetresult1,Contactuswidgetname1,Ctadate1,Ctaname1,Engagementscore,Partnerref
注意事项:
- 替换
{{customObjectAPIName}}为实际的自定义对象API名称 - 将
filterValues替换为真实的用户ID值 - 确保
fields参数中的所有字段名拼写正确(Marketo API字段名区分大小写)
3. 无可用可过滤字段的处理方案
如果目标自定义对象没有可过滤的用户ID字段,可选择以下方式:
- 联系Marketo管理员,在后台将目标用户ID字段的可过滤(Filterable)属性开启
- 若无法修改字段属性,可改用批量查询接口,或通过关联的Lead ID进行关联查询(前提是自定义对象与Lead有关联关系)
请求验证
发送修正后的请求后,检查返回结果:
- 若
success: true,即可获取到指定的字段数据 - 若仍有错误,排查以下点:access_token是否有效、自定义对象API名称是否正确、字段名拼写是否准确
内容的提问来源于stack exchange,提问作者sac
相关产品推荐
相关产品推荐

