我尝试在表格中显示HubSpot API(https://developers.hubspot.com/docs/methods/contacts/get_contacts)中的所有联系人列表。我使用的https://github.com/adimichele/hubspot-ruby宝石主要是有帮助的。我能够使用以下代码获取大部分信息:
<div class ="container-fluid text-center">
<div class="row">
<h1>Contacts</h1>
</div>
<br />
<table class="table">
<thead>
<tr>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Company</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<%
(Hubspot::Contact.all).each do |contact|
info = contact.properties
%>
<%= info %>
<tr>
<th scope="row"><%= info[:firstname] %></th>
<th scope="row"><%= info[:lastname] %></th>
<th scope="row"><%= info[:company] %></th>
</tr>
<% end %>
</tbody>
</table>
但是,默认情况下,gem仅显示Contact的3个属性。虽然HubSpot API发送的内容比电子邮件更多,但我在挑选和选择我想要的属性方面遇到了麻烦。我能够通过它自己成功地挑选出电子邮件属性:
<tbody>
<%
( Hubspot::Contact.all({ property: 'email' }) ).each do |contact|
info = contact.properties
%>
<%= info %>
<tr>
<th scope="row"><%= info[:firstname] %></th>
<th scope="row"><%= info[:lastname] %></th>
<th scope="row"><%= info[:company] %></th>
<th scope="row"><%= info[:email] %></th>
</tr>
<% end %>
</tbody>
但是,我无法弄清楚如何在电子邮件上添加更多内容。例如,我收到语法错误:
( Hubspot::Contact.all({ property: 'email', 'firstname' }) ).each do
和
( Hubspot::Contact.all({ property: 'email'})({ property: 'firstname'}) ).each do
我考虑过废弃这一切并从一个新宝石开始。但唯一看起来值得等待的其他人(https://github.com/HubSpot/rHAPI)不能正确安装。所以我试图让第一个解决方案起作用。
感谢您提供任何帮助。我自学,从未在这里发帖。我在这里发帖非常紧张,所以对这个问题或我的代码的任何反馈对我来说意味着世界。
答案 0 :(得分:0)
你可以尝试:
Hubspot::Contact.all.each do |contact|
然后你抓住整个对象,你可以获得构建表所需的部分,假设你需要的密钥位于从Hubspot返回的对象中。
我不熟悉那个宝石,但是降价似乎不太正常。如果密钥在.all.each中不可用,则使用过滤器不太可能。
我快速浏览了一下gem的lib,看不到会告诉我它会丢弃数据的任何内容。
答案 1 :(得分:0)
谢谢!解决方案是:
{ property: ['email', 'firstname'] }