Как программно создать проект на платформе Google Console Cloud с помощью PHP Lib?

Sep 20 2020

Я пытаюсь создать проект в облаке консоли Google, используя клиентскую библиотеку PHP. Я скопировал этот образец кода изhttps://cloud.google.com/resource-manager/reference/rest/v1/projects/create#php

Предпринятые шаги / Есть проблема:

  1. Эта строка " $requestBody = new \Google_Service_CloudResourceManager_Project();".

    Ошибка выдачи: «Класс Google_Service_CloudResourceManager_Project не найден».

    Затем я проверил в меню « Попробуйте этот API », мы можем передать JSON в API с помощью Google API Explorer. Я тестировал с помощью Google API Explorer, и результаты работают нормально. ( Смотрите скриншот )

  2. Комментируя эту строку " $requestBody = new \Google_Service_CloudResourceManager_Project();" и пытаясь передать json, необходимый для создания метода (как я проверял в меню " Попробуйте этот API ").

    Вызывающая ошибка : вызов функции-члена create()с нулевым значением в этой строке " $response = $service->projects->create($requestBody);".

Мой скрипт Google OAuth работает нормально, проблема только с этим скриптом создания проекта

Скрипт PHP:

$client = new \Google_Client();

$client->setApplicationName('Google-CloudResourceManagerSample/0.1'); //$client->useApplicationDefaultCredentials();
$client->addScope('https://www.googleapis.com/auth/cloud-platform'); $service = new \Google_Service_CloudResourceManager($client); // TODO: Assign values to desired properties of `requestBody`: //$requestBody = new \Google_Service_CloudResourceManager_Project();

$requestBody = '{ "name": "bob kris project 2", "projectId": "bk-project-290016" }'; $response = $service->projects->create($requestBody);

// TODO: Change code below to process the `response` object:
echo '<pre>', var_export($response, true), '</pre>', "\n";

die;

Ответы

1 Jaroslav Sep 21 2020 at 21:55

Похоже, это внутренняя проблема Google. Я воссоздал ваш сценарий и получил тот же результат. Я связался с группой инженеров Cloud App Engine и перенаправил ваш запрос. Кроме того, мы уже открыли публичный тикет , и все общение с Google будет продолжаться там.