使用 GCP api php 客户端 v1 方法

using GCP api php client v1 methods

我仍然停留在 this question 上,经过更多探索后我正在改写它。

我找不到使用 google-api-php-client with v1 API 方法的代码示例,例如 projects/setIamPolicy() On this example

PHP 示例似乎已损坏,因为 $service->projects 未定义。等效的nodejs示例"just works".

我尝试切换到 v1-master 分支,但相同的代码仍然不兼容。我已尝试进行一些修改以补偿示例中使用的 v2 身份验证方法,但遇到了死胡同。

通过 PHP 使用 v1 方法的正确方法是什么?

编辑 看起来这个简单的作曲家文件是我的解决方案:

{
    "require": {
        "google/apiclient": "^2.0",
        "google/apiclient-services": "0.50"
    }
}

重现 documentation instructions 后,我在 $service 中遇到了未定义 属性 $projects 的相同错误。 PHP Cloud Resource Manager API v1 的文档示例似乎定义了 类(如 $service = new Google_Service_CloudResourceManager($client);),实际上是在v2.

v1 Library 包含变量 $organizations 和 $projects。

v2 Library 包含变量 $folders 和 $operations。

在文档示例中,脚本尝试使用 v2 Class 访问 $projects,其中 $projects 不存在,但 $folders 和 $operations 存在。

通过使用包含 v1 的最新版本 n 的 version of google-api-php-client-services Library,您可以访问 $folders、$liens、$operations、$organizations、$projects,但仍使用 V2 Classes google-api-php-客户端。