Jak programowo stworzyć projekt w Google Console Cloud za pomocą PHP Lib?

Sep 20 2020

Próbuję utworzyć projekt w chmurze konsoli Google przy użyciu biblioteki klienta PHP. Skopiowałem ten przykładowy kod zhttps://cloud.google.com/resource-manager/reference/rest/v1/projects/create#php

Podjęte kroki / Mam problem:

  1. Ten wiersz „ $requestBody = new \Google_Service_CloudResourceManager_Project();”.

    Zgłaszanie błędu : „Nie znaleziono klasy Google_Service_CloudResourceManager_Project”.

    Następnie sprawdziłem w menu „ Try this API ”, możemy przekazać JSON do API za pomocą Google API Explorer. Testowałem z Google API Explorer i wyniki działają dobrze. ( Zobacz zrzut ekranu )

  2. Komentując tę ​​linię „ $requestBody = new \Google_Service_CloudResourceManager_Project();” i próbuję przekazać plik json wymagany do utworzenia metody (tak jak zaznaczyłem w menu „ Try this API ”).

    Zgłaszanie błędu : wywołanie funkcji create()składowej o wartości null w tym wierszu „ $response = $service->projects->create($requestBody);”.

Mój skrypt Google OAuth działa poprawnie, tylko problem z tym projektem tworzy skrypt

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

Odpowiedzi

1 Jaroslav Sep 21 2020 at 21:55

Wygląda na to, że jest to wewnętrzny problem Google. Odtworzyłem twój scenariusz i mam ten sam wynik. Skontaktowałem się z zespołem inżynierów Cloud App Engine i przekierowałem Twoją prośbę. Ponadto otworzyliśmy już bilet publiczny i cała komunikacja z Google będzie tam kontynuowana.