我有一个对象,但错误说我正在对非对象进行函数调用

时间:2015-11-01 18:31:07

标签: php api object infusionsoft

我正在使用Infusionsoft SDK。我试图做一些API调用时遇到了障碍。

我发出的任何电话都会出现相同的Call to a member function getRefreshToken() on a non-object错误(但不总是getRefreshToken())。

当我var_dump时,我发现它是一个对象..那么,是什么给出的?

object(Infusionsoft\Infusionsoft)#182 (13) { ["url":protected]=> string(42) "https://api.infusionsoft.com/crm/xmlrpc/v1" ["auth":protected]=> string(51) "https://signin.infusionsoft.com/app/oauth/authorize" ["tokenUri":protected]=> string(34) "https://api.infusionsoft.com/token" ["clientId":protected]=> string(24) "actual client ID" ["clientSecret":protected]=> string(10) "actual secret key" ["redirectUri":protected]=> string(65) "http://benjamin_redden.dev/wp-content/plugins/ajaxIsForm/auth.php" ["apis":protected]=> array(0) { } ["debug":protected]=> bool(false) ["httpClient":protected]=> NULL ["httpLogAdapter":protected]=> NULL ["serializer":protected]=> NULL ["needsEmptyKey"]=> bool(true) ["token":protected]=> string(24) "actual token" } Fatal error: Call to a member function getRefreshToken() on a non-object in /Users/Krsna/Sites/benjamin_redden/wp-content/plugins/ajaxIsForm/vendor/infusionsoft/php-sdk/src/Infusionsoft/Infusionsoft.php on line 261

这是我通过运行像...

这样的调用得到的错误

var_dump($infusionsoft); $infusionsoft->refreshAccessToken();

function get_those_ids($infusionsoft){
  var_dump($infusionsoft);
  // get the form IDS
  $formIDS = $infusionsoft->webForms()->getMap();

  // make the dropdown
  echo '<select name="infusionsoft_forms_which_form_would_you_like_to_use_" id="infusionsoft_forms_which_form_would_you_like_to_use_">';
  foreach($formIDS as $formID => $formName){
    echo '<option value="'. $formID .'">'. $formName .'</option>';
  }
  echo '</select>';
}

1 个答案:

答案 0 :(得分:0)

想出来了!

我将令牌设置为包含令牌的实际字符串,但显然它宁愿拥有整个对象令牌(包含刷新令牌,重定向uri,生命终结等等)

所以,它最终变成$infusionsoft->setToken($unserializedToken);

而不是$infusionsoft->setToken($tokenString);

哪个很好用,直到我尝试将一些信息保存到WP中的自定义帖子类型,现在我得到的就是Guzzle错误... =(