已经几个月了,所以您可能不再需要它了,但是由于我在寻找一种使用 nodejs 从 hubspot 中的对象类型中获取所有属性的方法时来到这里,这可能会帮助其他人寻找解决方案。
可以使用以下 API 调用检索属性的主列表:
const response = await hubspotClient.crm.properties.coreApi.getAll(objectType, false);
getAll() 的参数期望:
-
objectType:字符串,即“联系人”。
-
已归档:布尔值,即 false。如果您想获取存档的属性,请设置此 true。
以下代码是根据 hubspot API 文档中的此页面改编的:
https://developers.hubspot.com/docs/api/crm/properties
进入页面后,您可以单击“端点”选项卡以显示多个环境的代码 sn-ps,包括 nodejs。
对于此示例,getProperties() 检索给定对象类型的所有属性。我使用联系人作为对象类型,我相信这是您存储 url 属性的位置,但您可以使用相同的函数来获取其他对象类型(例如公司或交易)的属性。
可能值得注意的是,我将结果映射为仅返回属性名称,这听起来像是您的案例所需要的,但如果您需要,结果中包含更多信息。只需删除此位即可获取有关每个属性的更多信息:
.map(prop => prop.name)
const hubspot = require('@hubspot/api-client')
const hubspotClient = new hubspot.Client({ apiKey: "YOUR_API_KEY" })
const getProperties = async (objectType) => {
try {
const response = await hubspotClient.crm.properties.coreApi.getAll(objectType, false);
to the object request
return response.body.results.map(prop => prop.name);
} catch (e) {
e.message === 'HTTP request failed'
? console.error(JSON.stringify(e.response, null, 2))
: console.error(e);
}
}
这是一个运行函数以获取联系人所有属性名称列表的示例。
(async () => {
var properties = await getProperties("contacts");
console.log(JSON.stringify(properties ,null,2));
})();
我花了一点时间才找到这个,所以我想我会在这里发帖,希望它可以为其他人节省时间。这是我第一次发布解决方案,总的来说,我对这个 API 和 Hubspot 还是很陌生,因此欢迎提供反馈和/或更好的解决方案。干杯。