我正在使用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>';
}
答案 0 :(得分:0)
想出来了!
我将令牌设置为包含令牌的实际字符串,但显然它宁愿拥有整个对象令牌(包含刷新令牌,重定向uri,生命终结等等)
所以,它最终变成$infusionsoft->setToken($unserializedToken);
而不是$infusionsoft->setToken($tokenString);
哪个很好用,直到我尝试将一些信息保存到WP中的自定义帖子类型,现在我得到的就是Guzzle错误... =(