CURL - получить Получить всю электронную почту из Google API

Я использую cURL для получения всей электронной почты от пользователя через Google API. После https://developers.google.com/admin-sdk/email-audit/.

Согласно этому руководству сервер возвращает код состояния "201 Created" в успешное состояние. Но мой результат возвращает код "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);

Помогите мне пожалуйста?

1 ответ

API позволяет запрашивать состояние одного запроса на экспорт с URL-адресом:

https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{имя домена} / {имя пользователя источника} / {requestId почтового ящика}

или всех запросов через домен с запросом:

https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/{имя домена}?fromDate={fromDate}

Там нет операции, чтобы получить статус всех запросов для данного пользователя, как вы пытаетесь сделать.

Я предлагаю вам подтвердить, что вы успешно создали запрос на аудит, используя GAM для его создания. GAM покажет вам идентификатор запроса на успех. Затем вы можете попытаться получить результаты одного запроса с вашим кодом.

Другие вопросы по тегам