gpt4 book ai didi

php - Google_Service_OAuth2 在 PHP 中是 'Undefined type'

转载 作者:行者123 更新时间:2023-12-05 03:26:56 24 4
gpt4 key购买 nike

我正在尝试使用 Google 登录登录,但它显示“Google_Service_OAuth2”为未定义类型。

我找到了这个堆栈帖子:Google_Service_Oauth2 is undefined但没有任何回应。

我用 composer 安装了 apiclient,经过研究我发现每个文件都位于正确的位置(例如 src 文件夹)。此外,我使用 composer 安装的其他库工作正常。

使用命令 composer require google/apiclient composer 安装版本 2.12。我已经尝试安装 v2.0,这是我发现的大多数指南和帖子都在使用的版本。

我已经运行了 composer dump-autoload 并重启了我的机器以防万一。

这是我的代码:

use Google\Client;

$client = new Google_Client();

$clientID = 'MY CLIENT ID';
$clientSecret = 'MY CLIENT SECRET';
$redirectUri = 'http://localhost/dhi-portal/users/login';


$client->addScope('email');
$client->addScope('profile');

session_start();



if (isset($_GET['code'])) {
$token = $client->fetchAccessTokenWithAuthCode($_GET['code']);

if (!isset($token['error'])) {
$client->setAccessToken($token['accessToken']);

$_SESSION['accessToken'] = $token['accessToken'];

$googleService = new Google_Service_OAuth2($client);

}
}

我没有从这里继续下去,因为它显示了未定义的类型。

任何指导将不胜感激。

最佳答案

当我从 google/apiclient 版本 2.9.x => 2.12.x 更新时,我遇到了同样的问题。问题是他们将类改为使用 namespace 。

**Before**
$client = new Google_Client();
$service = new Google_Service_Books($client);


**After**
$client = new Google\Client();
$service = new Google\Service\Books($client);

来源:https://github.com/googleapis/google-api-php-client/blob/main/UPGRADING.md

所以在你的情况下,如果你想使用 2.12.x,你需要像这样重写你的代码:

$client = new Google\Client();
...
$googleService = new Google\Service\Oauth2($client);

关于php - Google_Service_OAuth2 在 PHP 中是 'Undefined type',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71578637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com