Php 谷歌硬盘服务:“;可捕获致命错误:传递给Google_DriveService::_construct()的参数1必须是Google_Client的实例;

Php 谷歌硬盘服务:“;可捕获致命错误:传递给Google_DriveService::_construct()的参数1必须是Google_Client的实例;,php,google-api-php-client,google-client,Php,Google Api Php Client,Google Client,所以,是的,这个错误只是让它看起来好像这个参数不是谷歌硬盘服务的一个实例。我上下打量过有类似错误的人,但一无所获。下面是完整的错误,然后是我的代码: 可捕获的致命错误:传递给Google_DriveService::__construct()的参数1必须是Google_客户端的一个实例,没有给定,在第23行的php Google oauth/data2.php中调用,在第1041行的php Google oauth/src/contrib/Google_DriveService.php中定义 G

所以,是的,这个错误只是让它看起来好像这个参数不是谷歌硬盘服务的一个实例。我上下打量过有类似错误的人,但一无所获。下面是完整的错误,然后是我的代码:

可捕获的致命错误:传递给Google_DriveService::__construct()的参数1必须是Google_客户端的一个实例,没有给定,在第23行的php Google oauth/data2.php中调用,在第1041行的php Google oauth/src/contrib/Google_DriveService.php中定义

Google_DriveService.php(约1041行):

data2.php:

// ..... (defining GDRIVE_...s)
$client = new Google_Client();
$client->setClientId( GDRIVE_CLIENT_ID );
$client->setClientSecret( GDRIVE_CLIENT_SECRET );
$client->setRedirectUri( GDRIVE_REDIRECT_URIS );
$client->setScopes( array( GDRIVE_SCOPE_01, GDRIVE_SCOPE_02, GDRIVE_SCOPE_03, GDRIVE_SCOPE_04, GDRIVE_SCOPE_05 ) );
$service = new Google_DriveService(); // LINE 23
// ....
在调用驱动器服务之前,我正在调用
Google\u Client()
类实例。。。所以我不确定发生了什么

传递给Google_DriveService::_构造()的参数1必须是Google_客户端的实例,未给出任何实例

这意味着在实例化
Google\u DriveService
时必须传递(至少)一个参数,并且传递的参数必须是
Google\u Client
类的实例

与此相反:

$service = new Google_DriveService();
你需要:

$service = new Google_DriveService($client);

别觉得自己愚蠢。只需确保您知道
\u构造
方法是什么(),并且了解它如何能够要求特定类型的类()
$service = new Google_DriveService($client);