我正在使用cURL通过Google API从用户那里获取所有电子邮件。以下 https://developers.google.com/admin-sdk/email-audit/#retrieving_all_email_monitors_of_a_source_user。
根据本教程,服务器返回"201 已创建"状态代码以成功。但是,我的结果返回"200 OK"代码。
这是代码授权
$data = array(
'accountType' => 'HOSTED_OR_GOOGLE',
'Email' => 'myEmail',
'Passwd' => 'myPassword',
'source'=>'PHP-cUrl-Example',
'service'=>'apps');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/accounts/ClientLogin");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
这是检索源用户的所有电子邮件监视器的代码
preg_match("/Auth=([a-z0-9_-]+)/i", $response, $matches);
$auth = $matches[1];
$header = array('Content-Type: application/atom+xml; charset=utf-8',
'Authorization: GoogleLogin auth='.trim($auth),
);
$url_email ="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/mydomain/username";
curl_setopt($ch, CURLOPT_URL, $url_email);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
$response = curl_exec($ch);
$response = simplexml_load_string($response);
curl_close($ch);
print_r($response);
请帮帮我?
该 API 允许您请求具有以下 URL 的单个导出请求的状态:
https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{域名}/{源用户名}/{邮箱请求 Id}
或整个域中请求的所有请求:
https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{域名}?fromDate={fromDate}
没有像您尝试的那样检索给定用户的所有请求状态的操作。
我建议您使用 GAM 创建审核请求,以确认已成功创建审核请求。GAM 将在成功时显示请求 ID。然后,您可以尝试使用代码获取单个请求的结果。