【发布时间】:2020-01-25 20:18:16
【问题描述】:
我在从 Google Global HTTP Batch 迁移到 Google Directory API 的 API 特定 Batch 端点时遇到了麻烦(在我的例子中是为了管理 google 邮件组)。
Google 在其博客文章中提供的说明简短明了:
PHP 支持的最低 Google 客户端库版本为 0.86。消费者 步骤 更新到 0.86 或更高版本 对于全局批处理,确认 您的代码没有明确指定全局批处理路径(即 “/batch”在路径的末尾)。如果是,请将其更改为引用 api/version 特定路径(例如“/batch/library/v1”)。
我使用最新版本的 PHP 的 Google Client API 包。 要发出一批请求,需要使用 Google_Http_Batch 类。 构造函数采用您的 api 客户端实例和三个可选参数,最后一个参数是 batchPath。默认为“批处理”。
看起来很简单,我更改了代码并使用 Google Directory API v1 的批处理路径调用构造函数:
//create a batch
$batch = new Google_Http_Batch($this->google_client, false, null, 'batch/directory/v1');
批处理请求不会引发任何错误,但不会执行放入批处理的请求。
如果我将批处理路径更改回'batch',则会执行请求。
如果我将批处理路径更改为任意路径,我会从 Google 收到 400 Not found 错误。
所以看起来新路径是正确的,但是由于某种原因请求没有被执行。
有人遇到同样的麻烦或知道我做错了什么吗? (在我开始向谷歌报告错误之前)
干杯!
【问题讨论】:
-
您提到了 google 邮件组和 google directory api。此更改删除了全局端点,要求您将批处理请求定向到特定的 api 端点。有人想知道您是否通过连接到一个 API 并为另一个 API 发出请求而造成不匹配。例如:连接到目录 api,然后发出 gmail api 请求。类似的东西?
-
并非如此。目录 API (developers.google.com/admin-sdk/directory/v1/reference) 用于管理 google(邮件)组..
标签: google-api google-admin-sdk