使用Google网上论坛迁移API时获得500“后端错误”

时间:2016-03-22 19:24:07

标签: google-admin-sdk

我正在尝试使用Python编写应用程序,以允许用户将其LISTSERV存档迁移到我们域的Google网上论坛。尝试调用archive.insert(https://developers.google.com/admin-sdk/groups-migration/v1/reference/archive/insert)时,收到HttpError 500“后端错误”。

我正在阅读档案,如下:

awk '/s/,/e/ {if ($0 !~ s && $0 !~ e) { print}}' s='^## Heading 2' e='^## Heading [^2]'

在mbox对象中迭代生成的消息时,调用.as_string()函数会产生如下结果:

import mailbox
mailbox.mbox('path/to/archive')

这里的一些问题提到了通过确保Message-ID格式正确来避免后端错误。但是,此特定邮件的消息['Message-ID']会产生&lt; 6949565692507828.WA.bobexchange.domain.com@listserv.domain.com>,所以我不确定Message-ID是否存在问题。< / p>

我试图像这样调用insert:

Date: Mon, 10 Feb 2014 10:58:41 -0600
Reply-To: Bob's test list <BOB@LISTSERV.DOMAIN.COM>,
 Bob Boberson <bob@EXCHANGE.DOMAIN.COM>
Sender: Bob's test list <BOB@LISTSERV.DOMAIN.COM>
From: Bob Boberson <bob@EXCHANGE.DOMAIN.COM>
Subject: blah blah blah
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Message-ID: <6949565692507828.WA.bobexchange.domain.com@listserv.domain.com>


Test message.

有什么想法吗?在此先感谢:)

更新

根据Jay在评论中的建议,我设置了httplib2.debuglevel = 1.以下是我的日志中尝试迁移同一封电子邮件的结果:

stream = StringIO.StringIO()
stream.write(msg.as_string())
media = apiclient.http.MediaIoBaseUpload(stream, mimetype='message/rfc822')
result = migration_api.archive().insert(groupId=group_email, media_body=media).execute()

更新(使用解决方案)

事实证明这是一个权限问题:在使用域范围的服务帐户路由时,请务必模拟拥有该组的用户。 FWIW,恕我直言,群组迁移API的错误消息需要更明确地说明问题所在。 “后端错误”非常通用。弄清楚就像用棍子戳问题直到它起作用。

1 个答案:

答案 0 :(得分:4)

事实证明这是一个权限问题:在进入域范围的服务帐户路由时,请务必模拟拥有该组的用户。 FWIW,恕我直言,群组迁移API的错误消息需要更明确地说明问题所在。 &#34;后端错误&#34;是非常通用的。弄清楚就像用棍子戳问题直到它起作用。