Google api — bigquery & amp; Appengine — не может создать набор данных

Я пытаюсь создать новый набор данных в Google Bigquery, используя Google App Engine в качестве сервера.

это код, который я использовал —

set_include_path("Google/" . PATH_SEPARATOR . get_include_path());
require_once 'Service.php';
require_once 'Client.php';
require_once 'Service/Resource.php';
require_once 'Model.php';
require_once 'Collection.php';
require_once 'Service/Bigquery.php';

$project_id = "test";
$dataset_id = "TestDataset";

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Bigquery::BIGQUERY);

$bigquery = new Google_Service_Bigquery($client);

$ConfigureDataset = new Google_Service_Bigquery_DatasetReference();
$ConfigureDataset->setProjectId($project_id);
$ConfigureDataset->setDatasetId($dataset_id);

$dataset = new Google_Service_Bigquery_Dataset();
$dataset->setDatasetReference($ConfigureDataset);
$dataset->setDescription($dataset_id);

$options = array();

$response = $bigquery->datasets->insert($project_id,$dataset,$options);

Я получаю ошибку —

  Fatal error: Class 'Monolog\Logger' not found in /base/data/home/apps/1.392457623149040913/Google/Client.php on line 963

На клиентской ссылке 963 я нашел это —

protected function createDefaultLogger()
{
$logger = new Logger('google-api-php-client');
$logger->pushHandler(new MonologStreamHandler('php://stderr', Logger::NOTICE));

return $logger;
}

Чем я искал этот класс на API Google и не нашел его.

Это API я скачал —

https://github.com/google/google-api-php-client

В чем может быть проблема?

2

Решение

Вам нужно включить файл автозагрузки, а не устанавливать путь включения. Есть два способа сделать это. Первое, что мы рекомендуем, это установить эту библиотеку через композитор:

  1. После установки composer запустите следующую команду в корне вашего проекта, а затем потребуйте автозагрузку из ваш поставщик:

    $ cd /path/to/project
    $ composer require "google/apiclient:2.0.0@RC"
  2. В вашем проекте требуется использовать файл автозагрузки, а не использовать его set_include_path бизнес:

    require_once '/path/to/project/vendor/autoload.php`;
    

Другой способ (который больше похож на то, что вы пытаетесь сделать) — это загрузить пакет со всеми зависимостями и потребовать автозагрузчик для JUST нашего пакета:

  1. Скачать файл Google-апи-PHP-клиент-2.0.0-RC7
  2. В вашем скрипте требуется автозагрузчик из каталога vendor:

    require_once '/path/to/google-api-php-client-2.0.0-RC7/vendor/autoload.php`;
    
1

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

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

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