Ошибка 413 слишком большого объекта запроса при отправке вложения размером более 5 МБ с использованием Gmail API на php

#php #gmail #gmail-api

#php #gmail #gmail-api

Вопрос:

Ошибка :

Неустранимая ошибка: неперехваченное исключение Google_Service_Exception: объект запроса слишком большой

Объект запроса слишком большой

Ошибка 413

в C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleHttpREST.php:118 Трассировка стека: #0 C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleHttpREST.php (94): Google_Http_REST::decodeHttpResponse(Объект(GuzzleHttp Psr7Ответ), Объект(GuzzleHttp Psr7 Запрос), ‘Google_Service_…’) #1 C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleTaskRunner.php (176): Google_Http_REST::Выполнить(объект(GuzzleHttp Client), Объект(GuzzleHttp Psr7 Request), ‘Google_Service_ …’) # 2 C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleHttpREST.php (58): Google_Task_Runner->выполнить() #3 C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleClient.php (798): Google_Http_REST::выполнить(Объект(GuzzleHttpClient), Объект(GuzzleHttpPsr7Request), ‘Google_Service_…’, Массив) # 4 C:xampphtdocsgmailvendor в C:xampphtdocsgmailvendorgoogleapiclientsrcGoogleHttpREST.php в строке 118

Код: $strRawMessage .= ‘To: ‘ . encodeRecipients(» <» . $strToMail . «>»). » r n»; $ strRawMessage .= ‘Subject: =?utf-8?B?’ . base64_encode($ strSubject) . «?= r n»; $ strRawMessage .= «MIME-версия: 1.0 r n»;$strRawMessage .= ‘Content-type: возобновляемый; boundary=»‘ . $boundary . ‘»‘. » r n»; $ strRawMessage .= ‘Content-Transfer-Encoding: chunked’ . » r n r n»;

/************* Привязанность**************/ $ basename = базовое имя($filePath); $fileTempPath = sys_get_temp_dir() . «/» . $basename; file_put_contents($fileTempPath, file_get_contents($filePath)); $finfo = finfo_open(FILEINFO_MIME_TYPE); // возвращает mime-тип ala с расширением mimetype $mimeType = finfo_file($finfo, $fileTempPath); $fileData = base64_encode(file_get_contents($fileTempPath)); $strRawMessage .= » rn—{$граница}r n»; $strRawMessage.= ‘Content-Type: ‘ . $mimeType. ‘; name=»‘. $basename . ‘»;’. » r n»; // $strRawMessage .= ‘Content-Type: message/rfc822 ‘ . » rn»; $strRawMessage.= ‘Content-ID: <‘ . $basename . ‘>’ . «r n»; $ strRawMessage .= ‘Content-Length: ‘ . filesize($fileTempPath) . «r n»; $strRawMessage .= ‘X-Upload-Content-Type: message/rfc822’ . «r n»; $strRawMessage .= ‘X-Upload-Content-Length: ‘ . filesize($fileTempPath) . «r n»; $strRawMessage .= ‘Content-Description: ‘ . $basename. ‘;’. » r n»; $ strRawMessage .= ‘Расположение содержимого: вложение; filename=»‘ . $basename . ‘»; size=’ . filesize($fileTempPath) . ‘;’. » r n»; $ strRawMessage .= ‘Передача содержимого-Кодирование: фрагментированный ‘ . » r n r n»; $strRawMessage .= chunk_split($fileData, 76, » r n»). «r n»; $ strRawMessage .= «—{$boundary} r n»;

 /*************Attachment**************/

$strRawMessage .= "--{$boundary}rn";
$strRawMessage .= 'Content-Type: application/json; charset=' . $charset . "rn";
//$strRawMessage .= 'Content-Transfer-Encoding: 8bit' . "rnrn";
$strRawMessage .= $strMessage . "rn";
$mime = rtrim(strtr(base64_encode($strRawMessage), ' /', '-_'), '=');
$message->setRaw($mime);
$messagesResponse = $service->users_messages->send('me', $message, ['uploadType' => 'resumable ']);