所以,是的,这个错误只是让这个参数看起来不是 Google Drive Service 的一个实例。我一直在寻找有类似错误的人,但我一无所获。这是完整的错误,然后是我的代码:
可捕获的致命错误:传递给 Google_DriveService::__construct() 的参数 1 必须是 Google_Client 的实例,没有给出,在第 23 行的 php-google-oauth/data2.php 中调用并在 php-google-oauth/src/contrib 中定义/Google_DriveService.php 第 1041 行
Google_DriveService.php(第 1041 行附近):
class Google_DriveService extends Google_Service {
public $about;
public $apps;
public $changes;
public $children;
public $comments;
public $files;
public $parents;
public $permissions;
public $replies;
public $revisions;
/**
* Constructs the internal representation of the Drive service.
*
* @param Google_Client $client
*/
public function __construct(Google_Client $client) { //LINE 1021
$this->servicePath = 'drive/v2/';
$this->version = 'v2';
$this->serviceName = 'drive';
// ....
数据2.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_Client()
Drive 服务之前调用了类实例......所以我不确定发生了什么。