【问题标题】:Unable to retrieve contact address data from Hubspot Contacts API无法从 Hubspot 联系人 API 检索联系人地址数据
【发布时间】:2023-03-23 00:28:01
【问题描述】:

我正在使用 Google Apps 脚本来访问 Hubspot 联系人 API,并且一切正常:

 var firstName = (item.properties.hasOwnProperty('firstname')) ? item.properties.firstname.value : "NA";
 var lastName = (item.properties.hasOwnProperty('lastname')) ? item.properties.lastname.value : "NA";
 var fullName = firstName + " " + lastName; 
 var companyName = (item.properties.hasOwnProperty('company')) ? item.properties.company.value : "NA";

...但我似乎无法查询与联系人地址相关的任何内容。

 var streetAddress = (item.properties.hasOwnProperty('address')) ? item.properties.address.value : "NA";
 var cityName = (item.properties.hasOwnProperty('city')) ? item.properties.city.value : "NA";
 var stateName = (item.properties.hasOwnProperty('state')) ? item.properties.state.value : "NA";
 var postalCode = (item.properties.hasOwnProperty('zip')) ? item.properties.zip.value : "NA";

streetAddresscityNamestateNamepostalCode 似乎没有从我的 API 查询中返回任何内容。但是firstNamelastNamecompanyName 都可以正常工作。我之前在检索电子邮件时遇到了一些问题,并在网上找到了解决方案。

知道为什么我的用于查找和分配 Hubspot 地址信息的代码不起作用吗?

这是我当前的 URL 查询(两个 URL 具有相同的效果,但顶部的 URL 较新,我认为如果我更具体地使用 API,我可以获得正确的属性):

var url_query = API_URL + "/contacts/v1/lists/all/contacts/all?properties=address&properties=firstname&properties=lastname&properties=company&properties=city&properties=state&properties=zip";
//var url_query = API_URL + "/contacts/v1/lists/all/contacts/all";

 response.contacts.forEach(function(item) {
 var vid = item.vid;
  
 var firstName = (item.properties.hasOwnProperty('firstname')) ? item.properties.firstname.value : "NA";
 var lastName = (item.properties.hasOwnProperty('lastname')) ? item.properties.lastname.value : "NA";
 var fullName = firstName + " " + lastName; 
 var companyName = (item.properties.hasOwnProperty('company')) ? item.properties.company.value : "NA";
 var streetAddress = (item.properties.hasOwnProperty('address')) ? item.properties.address.value : "NA";
 var cityName = (item.properties.hasOwnProperty('city')) ? item.properties.city.value : "NA";
 var stateName = (item.properties.hasOwnProperty('state')) ? item.properties.state.value : "NA";
 var postalCode = (item.properties.hasOwnProperty('zip')) ? item.properties.zip.value : "NA";
 Logger.log(fullName,streetAddress,cityName,stateName,postalCode);
 
 var email = "NA";     
  // Not sure why, but a contact might have multiple identity-profiles, we take the firstone
  item['identity-profiles'][0].identities.forEach(function(identity) {
    if (identity.type == "EMAIL") {
      email = identity.value;
    }
  });

【问题讨论】:

    标签: google-apps-script hubspot hubspot-crm


    【解决方案1】:

    这看起来像是一个简单的错误,即未在 URL 中包含所需的属性。根据the documentation

    默认情况下,响应数据中只会包含几个标准属性。如果您包含 'property' 参数,那么您将改为在响应中获取指定的属性。可以多次包含此参数以指定多个属性。

    您似乎错误地在 URL 中使用了无效的“属性”参数。以下是我将如何调整代码:

    var url_query = API_URL + "/contacts/v1/lists/all/contacts/all?property=address&property=firstname&property=lastname&property=company&property=city&property=state&property=zip";
    
    response.contacts.forEach(function(item) {
        var p = item.properties;
    
        var firstName = (p.hasOwnProperty('firstname')) ? p.firstname.value : "NA";
        var lastName = (p.hasOwnProperty('lastname')) ? p.lastname.value : "NA";
        var fullName = firstName + " " + lastName;
        var companyName = (p.hasOwnProperty('company')) ? p.company.value : "NA";
        var streetAddress = (p.hasOwnProperty('address')) ? p.address.value : "NA";
        var cityName = (p.hasOwnProperty('city')) ? p.city.value : "NA";
        var stateName = (p.hasOwnProperty('state')) ? p.state.value : "NA";
        var postalCode = (p.hasOwnProperty('zip')) ? p.zip.value : "NA";
    
        var email = "NA";
        // Not sure why, but a contact might have multiple identity-profiles, we take the firstone
        item['identity-profiles'][0].identities.forEach(function(identity) {
            if (identity.type == "EMAIL") {
                email = identity.value;
            }
        });
    });
    

    请注意,此 API 很快将被 an updated CRM API 取代,因此如果这是一个新项目,您可能不想在使用旧 API 调用的代码中投入太多工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 2022-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多