Служба Google Диска: & quot; Исправляемая фатальная ошибка: аргумент 1, переданный в Google_DriveService :: __ construct (), должен быть экземпляром Google_Client & quot;

Так что да, из-за ошибки все выглядит так, будто аргумент не является экземпляром службы Google Drive. Я искал людей с похожими ошибками, но ничего не получил. Вот полная ошибка, а затем мой код:

Исправляемая фатальная ошибка: аргумент 1, передаваемый в Google_DriveService :: __ construct (), должен быть экземпляром Google_Client, ни один из которых не указан, вызывается в php-google-oauth / data2.php в строке 23 и определяется в 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';
// ....

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_Client() экземпляр класса ДО того, как я позвоню в службу Drive … Так что я не уверен, что происходит.

1

Решение

Аргумент 1, переданный в Google_DriveService :: __ construct () должен быть экземпляром Google_Client, ни один не задан

Это означает, что вы должны передать (как минимум) один аргумент при создании экземпляра Google_DriveService и что аргумент, который вы передаете, должен быть экземпляром Google_Client учебный класс.

Вместо этого:

$service = new Google_DriveService();

Тебе нужно:

$service = new Google_DriveService($client);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]