我嘗試使用Gmail API PHP獲取郵箱中所有附件的列表。我在某個時候被卡住了,但是我無法確定何時。以下是我用來獲取郵件內容的代碼,當我嘗試獲取附件時,它以某種方式失敗。檢索單個/多個附件Gmail API PHP
我想獲取與我的「q」查詢對應的所有消息的文件名和附件ID。這裏是我的代碼:
function atta($service, $userId, $expeditor)
{
try
{
unset($optParamsamz);
$optParamsamz = [];
$optParamsamz['maxResults'] = 10; // Return Only 5 Messages
$optParamsamz['q'] = "has:attachment larger_than:10000000 "; // Only show messages in Inbox
$messagesamz = $service->users_messages->listUsersMessages('me',$optParamsamz);
$listamz = $messagesamz->getMessages();
$idlist = array();
foreach ($listamz as $key => $value) {
$message = $service->users_messages->get('me', $value['id']);
$array_message = $message->getPayload();
print_r($array_message);
echo "<br><br>";
}
}
catch (Exception $e)
{
print 'An error occurred: ' . $e->getMessage();
}
}
我不擅長php,但我[在JavaScript中寫了一個輕量級的解決方案](https://github.com/EmilTholin/gmail-api-parse-message/blob/master/lib/index.js ) 一會兒回來。也許你可以得到一些靈感,直到一個php-pro看到這個問題:) – Tholle
非常感謝!它並不能真正幫助我,因爲我在JS中使用s_ck,但我會盡力在那裏找到一些線索。如果任何人在PHP中有一些準則:) – justberare
我在解析Java中的附件信息時遇到的最大問題是有效載荷部分可以嵌套。最後,我必須創建一個遍歷MessageParts的遞歸方法,並在獲取文件名和附件ID之前檢查每個正文。 –