[英]PHP Gmail Api - Delete Mail
閱讀后如何刪除gmail郵件? 嘗試到處尋找,但找不到適合我的解決方案。 目前下面的代碼讀取主題和正文,我想在閱讀后立即刪除該特定郵件
$service = new Google_Service_Gmail($client);
foreach ($messages as $message){
$msg = $service->users_messages->get($userId, $message->getId());
$headers = $msg->getPayload()->getHeaders();
$subject = array_values(array_filter($headers, function($k){
return $k['name'] == 'Subject';
}));
$subject = $subject[0]->getValue();
$body = base64_decode(var_export($msg->payload->body->data, true)));
}
我相信你的目標和情況如下。
在這種情況下,它使用 Gmail API 中的“users.messages.delete”方法。
當你的腳本被修改時,它變成如下。
$service = new Google_Service_Gmail($client);
foreach ($messages as $message){
$msg = $service->users_messages->get($userId, $message->getId());
$headers = $msg->getPayload()->getHeaders();
$subject = array_values(array_filter($headers, function($k){
return $k['name'] == 'Subject';
}));
$subject = $subject[0]->getValue();
$body = base64_decode(var_export($msg->payload->body->data, true)));
$service->users_messages->delete($userId, $message->getId()); // Added
}
在這種情況下,它假設$service
可以用於刪除消息。 如果出現scope相關的錯誤,請添加https://mail.google.com/
的scope並重新測試。 但是當范圍改變時,請包含訪問令牌和刷新令牌的文件重新授權。 這樣,新的范圍就會反映到訪問令牌和刷新令牌中。 請注意這一點。
$client->setScopes(Google_Service_Gmail::GMAIL_READONLY);
, 請修改為$client->setScopes("https://mail.google.com/");
. 並再次授權。重要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.