Google Drive服务:"可捕获的致命错误:传递给Google_DriveService :: __ construct()的参数1必须是Google_Client"的实例。

时间:2015-04-26 21:00:24

标签: php google-api-php-client google-client

所以是的,错误只是让它看起来像是Google Drive Service的一个实例。我为那些有类似错误的人上下打量,但我一无所获。这是完整错误,然后是我的代码:

可捕获的致命错误:传递给Google_DriveService :: __ construct()的参数1必须是Google_Client的一个实例,没有给出,在第23行的php-google-oauth / data2.php中调用,并在php-google-oauth /中定义第1041行的src / contrib / Google_DriveService.php

Google_DriveService.php(第1041行附近):

// ..... (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
// ....

data2.php:

Google_Client()

我在调用云端硬盘服务之前调用{{1}}类实例...所以我不确定发生了什么。

1 个答案:

答案 0 :(得分:1)

  

传递给Google_DriveService :: __ construct()的参数1必须是Google_Client的一个实例,没有给出

这意味着在实例化Google_DriveService时必须传递(至少)一个参数,并且您传递的参数必须是Google_Client类的实例。

而不是:

$service = new Google_DriveService();

你需要:

$service = new Google_DriveService($client);