[英]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.