0

我要去使用電子郵件審計API用戶abc.so到目前爲止我的代碼列出我的用戶的電子郵件是谷歌電子郵件審計API聯繫SDK

$xml = " 
    <atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'> 
    <apps:property name='destUserName' value='abc'/> 
    <apps:property name='beginDate' value='2009-06-15 00:00'/> 
    <apps:property name='endDate' value='2015-06-30 23:20'/> 
    <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/> 
    <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/> 
    <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/> 
    <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/> 
</atom:entry> 
"; 


$abc = 'mypublicAPI'; 
$cred = new Google_Auth_AssertionCredentials(
    'myEmail', 
    array(
     'https://apps-apis.google.com/a/feeds/compliance/audit', 
    ),$abc 
); 


$client->setAssertionCredentials($cred); 
$domain = 'mydomain'; 
$username = 'abc'; 
if($client->getAuth()->isAccessTokenExpired()) { 
    $client->getAuth()->refreshTokenWithAssertion($cred); 
} 
$url = "https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/" . $domain .'/'. $username;               
$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'] . '', 
    ) 
); 

但是代碼沒有返回。甚至像documetation一個HTTP狀態代碼表示: https://developers.google.com/admin-sdk/email-audit/#creating_a_new_email_monitor

然而,當我做

var_dump($req); 

代碼返回

object(Google_Http_Request)#52 (14) { ["batchHeaders":"Google_Http_Request":private]=> array(3) { ["Content-Type"]=> string(16) "application/http" ["Content-Transfer-Encoding"]=> string(6) "binary" ["MIME-Version"]=> string(3) "1.0" } ["queryParams":protected]=> array(0) { } ["requestMethod":protected]=> string(4) "POST" ["requestHeaders":protected]=> array(2) { ["content-type"]=> string(35) "application/atom+xml; charset=utf-8" ["authorization"]=> string(90) "Bearer ya29.tAC7zkWiQjV_KcSSQZhmUQGuXgXvN9LMVBERhflX2vs4qsfGGVQoBRIHSLGawsLLxYNPaZuqQgtKug" } ["baseComponent":protected]=> string(28) "https://apps-apis.google.com" ["path":protected]=> string(85) "https://stackoverflow.com/a/feeds/compliance/audit/mail/monitor/mydomain/abc" ["postBody":protected]=> string(597) " " ["userAgent":protected]=> NULL ["canGzip":protected]=> NULL ["responseHttpCode":protected]=> NULL ["responseHeaders":protected]=> NULL ["responseBody":protected]=> NULL ["expectedClass":protected]=> NULL ["accessKey"]=> NULL } 

任何幫助?

回答

0

您的代碼已創建請求,但尚未執行。您可以使用此代碼執行請求:

$resp = $client->execute($req);