如何以编程方式使用 PHP Lib 在 Google Console Cloud 平台中创建项目?

How to create project in Google Console Cloud platform using PHP Lib programmatically?

我正在尝试使用 PHP 客户端库在 Google 控制台云中创建一个项目。 我从 https://cloud.google.com/resource-manager/reference/rest/v1/projects/create#php

复制了这个示例代码

采取的步骤/遇到问题:

  1. 这一行“$requestBody = new \Google_Service_CloudResourceManager_Project();”。

    抛出错误 : 'Class Google_Service_CloudResourceManager_Project not found'.

    然后我检查了“Try this API" menu, we can pass the JSON to API with Google API Explorer. I tested with Google API Explorer and the results are working fine. (See screenshot)

  2. 评论这一行“$requestBody = new \Google_Service_CloudResourceManager_Project();” 并尝试传递创建方法所需的 json(正如我在“Try this API”菜单中签入的)。

    抛出错误:在这一行“$response = $service->projects->create($requestBody);”.

    上调用成员函数 create() 为空

我的 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;

这似乎是 Google 内部问题。我重新创建了您的场景并得到了相同的结果。我联系了 Cloud App Engine 工程团队并重定向了您的请求。另外,我们已经开通了一个public ticket,与Google的所有通信都将在那里继续。