我想使用 Admin SDK 下载邮箱,但无法正常工作。我找不到我需要定义的范围。我正在使用服务帐户。
为了准备下载,您必须向 发出POST
请求https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{domain name}/{source user name}
,但没有audit.mail
范围或类似的东西。
这是我的要求:
<?php
$client = new \Google_Client();
$cred = new \Google_Auth_AssertionCredentials(
'***@developer.gserviceaccount.com',
array(
'https://apps-apis.google.com/a/feeds/compliance/audit',
),
file_get_contents($path)
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$url = "https://apps-apis.google.com/a/feeds/compliance/audit/publickey/" . $domain;
$req = new \Google_Http_Request($url, 'POST');
$req->setPostBody($xml);
$token = json_decode($client->getAccessToken(), true);
$req->setRequestHeaders(
array(
'Content-Type'=> 'application/atom+xml; charset=utf-8',
'Authorization'=> 'Bearer ' . $token['access_token'] . '',
)
);?>
但我得到一个403
错误:You are not authorized to access this API.
。
使用 PHP API 和服务帐户下载邮箱的最佳方法是什么?