【问题标题】:using GCP api php client v1 methods使用 GCP api php 客户端 v1 方法
【发布时间】:2019-10-05 09:09:44
【问题描述】:

我仍然停留在 this question 上,经过更多探索后,我正在重新措辞。

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

PHP 示例似乎已损坏,因为 $service->projects 未定义。等效的 nodejs 示例“正常工作”。

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

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

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

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

【问题讨论】:

  • 快速搜索在 google-api-php-client samples 中找不到任何相关内容,在 php-docs-samples 中也找不到 iam 文件夹。我相信 Go 或 Python 等其他语言有“更多/更好维护”的客户端库,请查看this example
  • 我也试过nodejs的例子,效果很好。

标签: google-cloud-platform google-api-php-client


【解决方案1】:

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

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

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-07-08
  • 2021-10-28
  • 2021-09-07
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多