gpt4 book ai didi

php - 在 Symfony 中使用 Mautic api 库时尝试调用名为 "validateAccessToken"的未定义方法

转载 作者:可可西里 更新时间:2023-10-31 22:16:20 25 4
gpt4 key购买 nike

我正在尝试在我的 Symfony 项目中使用 mautic/api-library。我正在使用 Symfony 2.8.9 和 PHP 5.6.14。

我已经在 composer 和 autoload.php 文件中包含了 api-library 项目。在我的 Controller 中,我声明了 api-library 类:

use Mautic\Auth\ApiAuth;
use Mautic\Auth\OAuth;

并尝试从我的 mautic 安装中获取 token :

$settings = array(
'baseUrl' => 'http://mymauticinstallation.com',
'version' => 'OAuth1a',
'clientKey' => 'myCLientKey',
'clientSecret' => 'mySecretClient',
'callback' => 'https://api.mysymfonyapp.com/'
);
$auth = new ApiAuth();
$auth->newAuth($settings);
if ($auth->validateAccessToken()) {
if ($auth->accessTokenUpdated()) {
$accessTokenData = $auth->getAccessTokenData();
}
}

但是当我尝试运行这段代码时,我的控制台出现了这个错误:

request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException: "Attempted to call an undefined method named "validateAccessToken" of class "Mautic\Auth\ApiAuth"

查看 mautic ApiAuth 类,newAuth 方法使用反射实例化:

public function newAuth($parameters = array(), $authMethod = 'OAuth')
{
$class = 'Mautic\\Auth\\'.$authMethod;
$authObject = new $class();

...

return $authObject;
}

根据异常消息,反射没有返回 OAuth 类实例。有谁知道是什么原因造成的?我已经检查过,我满足了 PHP 和 Symfony 的最低要求。 PHP版本和反射有什么关系吗?

提前致谢。

最佳答案

request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException: "Attempted to call an undefined method named "validateAccessToken" of class "Mautic\Auth\ApiAuth"

意味着 validateAccessToken 方法在 Mautic\Auth\ApiAuth 中不存在,实际上它没有在 Mautic\Auth\OAuth 中定义>.

// Mautic\Auth\ApiAuth
public function newAuth($parameters = array(), $authMethod = 'OAuth')
{
$class = 'Mautic\\Auth\\'.$authMethod;
$authObject = new $class();

...

return $authObject; // <-- it returns an object, use it!
}

所以你错过的是将返回的对象存储在一个变量中以使用它

$apiAuth = new ApiAuth();
$auth = $apiAuth->newAuth($settings);
if ($auth->validateAccessToken()) {
if ($auth->accessTokenUpdated()) {
$accessTokenData = $auth->getAccessTokenData();
}
}

关于php - 在 Symfony 中使用 Mautic api 库时尝试调用名为 "validateAccessToken"的未定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157624/

25 4 0
文章推荐: html - 使用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com