2013-10-02 1 views
0

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

В соответствии с этим руководством сервер возвращает код состояния 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); 

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

+0

Каков результат при восстановлении всех мониторов электронной почты? Это тот, который вы там создали? – Emily

+0

@EmilyLam: return AtomPub feed без элемента ввода для всех мониторов электронной почты –

ответ

0

API-интерфейс позволяет request the status of a single export request с URL из:

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

или all requests across the domain с просьбой:

https://apps-apis.google.com/a/feeds/compliance/audit/mail/export/ {domain name}? FromDate = {fromDate}

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

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

+0

Я имею в виду, что ответ не запрашивает возвратные данные, хотя я успешно прошел проверку подлинности. –

+0

вы можете уточнить, есть ли у вас проблемы с созданием или получением? –

Смежные вопросы