2016-05-25 3 views
0

メッセージが本当に送信されたかどうかを確認しようとしています。メッセージがSENTというラベルが付けられている場合、gmail APIはこの情報を間接的にユーザー履歴で提供しているようです。User.historyと実際のメッセージ送信

ユーザーがUNDO機能を有効にしているときに問題があります。メッセージは実際には送信されていませんが、SENTというイベントのラベルが付けられています。元に戻すと、メッセージにSENTラベルが削除され、DRAFTラベルが追加されます。

これまでのところ、実際の送信が行われた履歴を記録する「イベント」は見つかりませんでした。

実際に送信されたメッセージを処理し、できるだけ早く実行し、可能であれば、今日利用可能な最大のアンドゥ時間(30秒)を待つ必要があります。

どのように私たちはそれを遂行することができますか?何か私たちが逃した?

答えて

0

あなたは例のPHPコードの場合、この

を試すことができます。

/** 
* Send Message. 
* 
* @param Google_Service_Gmail $service Authorized Gmail API instance. 
* @param string $userId User's email address. The special value 'me' 
* can be used to indicate the authenticated user. 
* @param Google_Service_Gmail_Message $message Message to send. 
* @return Google_Service_Gmail_Message sent Message. 
*/ 
function sendMessage($service, $userId, $message) { 
try { 
$message = $service->users_messages->send($userId, $message); 
print 'Message with ID: ' . $message->getId() . ' sent.'; 
return $message; 
} catch (Exception $e) { 
print 'An error occurred: ' . $e->getMessage(); 
} 
} 

あなたが試すことができnullの場合$message->getId()を得ることができますnullでないメッセージが送信された場合、それが送信されていません。

if($message->getId() != null){ 
//message has been seent 

your code 
} 
else{ 

//message not been sent 

your code 
} 

またはその両方がちょうど現在User.historyは、これらの機能を持っていないので、あなたが現在やっていることに固執動作しない場合は、Advanced searchを試してみてください。

あなたは彼がチェックするために、事前検索を使用する方法このリンクで見ることができemail is sent HTH

場合
関連する問題