0

我正在尝试使用电子邮件设置操作发送批处理请求[1],特别是使用假期响应程序和转发设置,但我只收到“404 not found”。我在批处理请求中使用其他 Admin SDK API 的操作完全没有问题,但我无法通过电子邮件设置实现它。可能不支持?我确定问题出在批处理请求中,我可以通过单个操作(无批处理)成功完成它。

这是正在发送的请求(批处理请求中只有一个操作):

POST /batch HTTP/1.1
Host: www.googleapis.com
Content-length: 798
Content-type: multipart/mixed; boundary=batch_foobar
Authorization: hidden

--batch_foobar
Content-ID: 0
Content-Type: application/http
Content-Transfer-Encoding: binary

PUT https://apps-apis.google.com/a/feeds/emailsettings/2.0/hiddendomain/hiddenusername/vacation
Content-type: application/atom+xml
Content-Length: 679

<?xml version="1.0" encoding="utf-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:apps="http://schemas.google.com/apps/2006">
    <apps:property name="enable" value="true" />
    <apps:property name="subject" value="Test" />
    <apps:property name="message" value="Test message" />
    <apps:property name="contactsOnly" value="true" />
    <apps:property name="domainOnly" value="false" />
    <apps:property name="startDate" value="2014-07-08" />
    <apps:property name="endDate" value="2014-07-09" />
</atom:entry>

--batch_foobar--

这是回应:

HTTP/1.1 200 OK
Content-length: 338
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Server: GSE
Pragma: no-cache
Cache-control: no-cache, no-store, max-age=0, must-revalidate
Date: Tue, 08 Jul 2014 09:20:45 GMT
X-frame-options: SAMEORIGIN
Content-type: multipart/mixed; boundary=batch_8eGfZ3iWYsE=_AAOswOMwE9Y=

--batch_Dg4qG3f3pPg=_AAm-NVSCF2o=
Content-Type: application/http
Content-ID: response-0

HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8
Date: Tue, 08 Jul 2014 08:59:17 GMT
Expires: Tue, 08 Jul 2014 08:59:17 GMT
Cache-Control: private, max-age=0
Content-Length: 9

Not Found
--batch_Dg4qG3f3pPg=_AAm-NVSCF2o=--

是的,我实际使用的域和用户名都可以。

任何帮助、评论、建议将不胜感激。谢谢你。

PS:我也尝试过使用 OAuth Playground[2],结果相同。

[1] https://developers.google.com/admin-sdk/directory/v1/guides/batch

[2] https://developers.google.com/oauthplayground

4

1 回答 1

0

电子邮件设置 API 是一个旧的基于 GData 的 API,不支持批处理。提高性能的最佳选择是发送并行 api 请求。

于 2014-07-08T23:01:09.517 回答