亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP Gmail Api - 刪除郵件

PHP Gmail Api - 刪除郵件

PHP
開心每一天1111 2024-01-19 15:49:03
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)));}
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

我相信你的目標和情況如下。

  • 您想使用 php 的 googleapis 刪除消息。

  • 您已經能夠獲取和輸入 Gmail API 的值。

在這種情況下,它使用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

}

  • “users.messages.delete”方法不返回任何值。請小心這一點。

筆記:

  • 在這種情況下,假設$service可用于刪除消息。如果出現與范圍相關的錯誤,請添加范圍https://mail.google.com/并再次測試。但當范圍改變時,請包含訪問令牌和刷新令牌的文件再次授權。這樣,新的范圍就會反映到訪問令牌和刷新令牌。請小心這一點。

    • 例如,如果在您當前的腳本中,范圍的使用類似于$client->setScopes(Google_Service_Gmail::GMAIL_READONLY);,請將其修改為$client->setScopes("https://mail.google.com/");。并再次授權。

  • 重要的

    • 在這個修改后的腳本中,消息被完全刪除。所以我想建議使用示例消息來測試它。請小心這一點。

參考:

  • 方法:users.messages.delete


查看完整回答
反對 回復 2024-01-19
  • 1 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號