Como criar projeto na plataforma Google Console Cloud usando PHP Lib programaticamente?
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:
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 )
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
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á.