【问题标题】:Highrise API Returning Error Code 500Highrise API 返回错误代码 500
【发布时间】:2014-01-23 07:26:58
【问题描述】:

我正在尝试将 PHP Wrapper 用于位于此处的 Highrise API:

https://github.com/ignaciovazquez/Highrise-PHP-Api

我需要为 HighrisePerson 对象设置一个自定义字段。根据代码,这应该很简单......

$person->setCustomField("Field Name", $value); // Pulled almost straight out of the documentation

不幸的是,当我尝试使用 $person->save(); 将其保存回高层时,我收到以下错误:

Uncaught exception 'Exception' with message 'API for Person returned Status Code: 500 Expected Code: 200'

所以错误不在代码中... Highrise 只是不接受自定义字段。关于为什么会这样的任何想法?

【问题讨论】:

  • 您是否提供了帐户名和访问令牌?
  • 是的...这不是问题所在。我正在成功地使用 API 来做其他事情,并且我确定我正在指定我的帐户名称和 API 密钥。

标签: php api highrise 37-signals


【解决方案1】:

为了使用37signalsHighrise-PHP-Api,您应该提供帐户名和访问令牌;

$hr = new HighriseAPI();
$hr->setAccount("accountname");
$hr->setToken("token");

然后你就可以执行你的其他功能了

$person->setCustomField("Field Name", $value);

如果你仔细查看这个 api 的测试,你会发现;

if (count($argv) != 3)
        die("Usage: php users.test.php [account-name] [access-token]\n");

【讨论】:

  • 我绝对确定不是这样。我正在提供帐户名称和凭据。我已成功使用 API 添加联系人和备注。我收到错误的唯一一次是当我尝试使用自定义字段时。不过感谢您的回复!
  • 仅用于调试,在第 1893 行的主类中,您能否添加此 var_dump($xml); 以查看您的输入创建的 xml 内容?
【解决方案2】:

好吧……我想通了……

在 API 中:

$person->setCustomField("字段名", $value);

在 Highrise 中创建一个新的自定义字段。因此,如果还没有名为“字段名称”的自定义字段,它将创建它。如果该字段已存在,则返回 500 错误。

据我所知,无法使用该包装器设置现有字段的值。您只能创建新字段,这有点麻烦。

我从包装器上找到了一个对我来说效果很好的叉子。它托管在这里:https://github.com/AppSaloon/Highrise-PHP-Api

这个用法令人困惑,我花了一段时间才弄清楚。

基本上,您想要搜索 Highrise 中的所有自定义字段。一旦你找到你想要的,你给它分配必要的值......所以代码看起来像这样:

// Load up all the custom fields out of Highrise
    $cfields = $highrise->findAllCustomfields();

// Search each custom field until we find the "Field Name" one. When we do, add it to our Highrise Person.
    foreach ($cfields as $c) {
        if ($c->getSubjectFieldLabel() == "Field Name") 
        {
            // Assign that custom field to the person
            $highrisePerson->addCustomfield($c, "Field Value");
        }
    }

我希望这可以帮助遇到同样问题的其他人。我从另一个 Stack Overflow 问题中发现了分叉的 PHP 包装器,但他们也无法让自定义字段工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多