【问题标题】:Highrise API Example. help高层 API 示例。帮助
【发布时间】:2010-08-23 16:33:27
【问题描述】:

我正在尝试让高层 api 与我的项目一起使用。总菜鸟。

我有一个帐户,有我的 api 密钥,像这样在我的控制器中添加到我的 rails 项目中。

需要“高层” 高层::Base.site = 'http://MYACCOUNT.highrisehq.com' Highrise::Base.user = 'MYAPI KEY'
@person = Highrise::Person.find(:all)

在我看来,我可以在我的联系人列表中找到所有 rthe 人,但无法弄清楚如何缩小该列表的范围。

所以如果@person = Highrise::Person.find(:all) 获取所有这些,那么只会获取你的名字为“larry”的东西?

我已经尝试过,但无法解决这个问题。

【问题讨论】:

    标签: ruby-on-rails api 37-signals highrise


    【解决方案1】:

    所以我得到了答案
    在我的控制器中

    @tag = params[:tag]
    @person = Highrise::Person.find(:all, :from => "/people/search.xml?term=#{@tag}")  
    
    
    THanks Andy for your help .   set me on the right path
    

    【讨论】:

    • 现在我似乎无法弄清楚如何更新记录。我不能使用@person.save Lost
    【解决方案2】:

    我会使用@people 作为您所拥有的实例变量,因为您的查询返回多条记录。您可以遍历这些记录并在人员上打印字段,如下所示:

    <% @people.each do |person| %>
      <%= "Got a person: #{person.inspect}" %>
    <% end %>
    

    您可以检查您关心的值,而不是打印每个人,也许是puts person if person.name == "larry",但是如果您知道要预先设置“larry”,那么您只想查询 Highrise 的一条记录。查看 Highrise API 文档中的 List by search criteria。我没有使用它,但我会尝试使用您的条件搜索/people/search.xml?criteria[email]=larry@company.com,它应该返回一个结果集合,然后如果您找到您想要的特定 larry,您有用户 ID,您可以使用“显示" API 的操作,例如/people/#{id}.xml(此处传入larry的ID)查询单条记录。

    【讨论】:

    • 安迪,我可以提取所有记录。我认为我不太了解的部分是第二部分(我知道你没有使用过 API)我将在哪里以及如何使用 /people/search.xml?criteria[email]=larry@company.com (我的控制器中的部分) 这就是我缺少的部分。 @person = Highrise::Person.find(:all) 第一部分是一个巨大的帮助 - 谢谢。我似乎无法找到有关该主题的任何真正好的信息。拉里
    • 您必须向 Highrise 服务器生成一个 HTTP Get 请求。查看 Rest Client 的 Ruby。 API 看起来像是返回 XML。这意味着您可能还需要一个 XML 解析器。我会看Nokogiri。生成请求和处理响应是非常重要的任务,但是学习这些技能是值得的,因为大多数 API 都是这样工作的,而且很有可能你会在另一个项目中使用更多的 API。如果还没有一个包装 Ruby 库,也许你可以创建一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 2018-07-29
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多