Como criar projeto na plataforma Google Console Cloud usando PHP Lib programaticamente?

Sep 20 2020

Estou tentando criar um projeto na nuvem do console do Google usando a biblioteca cliente PHP. Copiei este código de amostra dehttps://cloud.google.com/resource-manager/reference/rest/v1/projects/create#php

Etapas executadas / resolvi o problema:

  1. Esta linha " $requestBody = new \Google_Service_CloudResourceManager_Project();".

    Gerando erro : 'Classe Google_Service_CloudResourceManager_Project não encontrada'.

    Então eu verifiquei no menu " Try this API ", podemos passar o JSON para API com o Google API Explorer. Eu testei com o Google API Explorer e os resultados estão funcionando bem. ( Veja a imagem )

  2. Comentando esta linha " $requestBody = new \Google_Service_CloudResourceManager_Project();" e tentando passar o método json necessário para criar (como eu verifiquei no menu " Experimente esta API ").

    Erro de lançamento : chamada para uma função de membro create()em null nesta linha " $response = $service->projects->create($requestBody);".

Meu script Google OAuth está funcionando bem, problema único com este script de criação de projeto

Script 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;

Respostas

1 Jaroslav Sep 21 2020 at 21:55

Parece que este é um problema interno do Google. Recriei seu cenário e obtive o mesmo resultado. Entrei em contato com uma equipe de engenharia do Cloud App Engine e redirecionei sua solicitação. Além disso, já abrimos um tíquete público e toda a comunicação com o Google continuará lá.