我正在开发一个项目,通过GMAIL REST API检索gmail收件箱消息,并将它们填充到一个新的用户界面中,该界面将用于其他目的。这个项目是用PHP编写的。我目前正在使用PHP版本。这是我用来检索邮件正文的代码段。
$service = new Google_Service_Gmail($client);
$user = 'me';
function get_Message_Body($messageId,$service)
{
$optParamsGet = [];
$optParamsGet['format'] = 'full';
echo "this is optParamsGet";
var_dump($optParamsGet);
$message = $service->users_messages->get('me',$messageId,$optParamsGet);
echo "this is message";
var_dump($message);
echo "<pre>".$message->snippet."</pre>";
$messagePayload = $message->getPayload();
$headers = $message->getPayload()->getHeaders();
$parts = $message->getPayload()->getParts();
$body = $parts[0]['body'];
echo "this is body";
var_dump($body);
$rawData = $body->data;
$sanitizedData = strtr($rawData,'-_', '+/');
$decodedMessage = base64_decode($sanitizedData);
echo $decodedMessage;
}
get_Message_Body($_REQUEST["id"], $service);
但是,我发现此代码仅适用于具有mime / multipart / alternative类型的消息。但是,我需要为任何类型的Gmail邮件检索邮件正文和附件。我怎么做。这是我在新用户界面上看到的另一个mime类型的输出 The code snippet for retrieving the messages
此处代码段中的邮件正文不会传递到MessagePartBody中的data参数。与mime类型mulipart / alternative这样的代码不同,代码传递到消息body-&gt;部分并在ui上呈现。enter image description here