Ошибка получения объекта запроса: слишком большая ошибка 413 при отправке вложения размером более 5 МБ с использованием Gmail API в php - PullRequest
0 голосов
/ 20 апреля 2019

Ошибка:

Неустранимая ошибка: Uncaught Google_Service_Exception: Запросить объект слишком большой

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

Ошибка 413

в C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Http \ REST.php: 118 Трассировка стека: # 0 C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Http \ REST.php (94): Google_Http_REST :: decodeHttpResponse (Object (GuzzleHttp \ pSR7 \ Response), Объект (GuzzleHttp \ Psr7 \ Request), 'Google_Service _...') # 1 C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Task \ Runner.php (176): Google_Http_REST :: doExecute (Object (GuzzleHttp \ Client), Объект (GuzzleHttp \ Psr7 \ Request), 'Google_Service _...') # 2 C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Http \ REST.php (58): Google_Task_Runner-> run () # 3 C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Client.php (798): Google_Http_REST :: Execute (Object (GuzzleHttp \ Client), Объект (GuzzleHttp \ Psr7 \ Request), 'Google_Service _...', Array) # 4 C: \ xampp \ htdocs \ gmail \ vendor \ in C: \ XAMPP \ HTDOCS \ Gmail \ поставщика \ Google \ apiclient \ SRC \ Google \ Http \ REST.php по линии 118

Код: $ strRawMessage. = 'Кому:'. encodeRecipients ("<". $ strToMail. ">"). "\ Г \ п"; $ strRawMessage. = 'Тема: =? utf-8? B?' , base64_encode ($ strSubject). "? = \ Г \ п"; $ strRawMessage. = "MIME-версия: 1.0 \ r \ n"; $ strRawMessage. = 'Тип содержимого: возобновляемый; border = "'. $ border.'" '. "\ Г \ п"; $ strRawMessage. = 'Content-Transfer-Encoding: chunked'. "\ Г \ п \ г \ п";

/ ************* Вложение ************** / $ basename = базовые ($ Filepath); $ fileTempPath = sys_get_temp_dir (). "/". $ Базовое имя; 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. = "\ Г \ п - {$ граничное} \ г \ п"; $ strRawMessage. = 'Content-Type:'. $ mimeType. «; name = "'. $ basename.'"; ' , "\ Г \ п"; // $ strRawMessage . = 'Content-Type: message / rfc822'. "\ Г \ п"; $ strRawMessage. = 'Content-ID: <'. $ basename. '>'. "\ Г \ п"; $ strRawMessage. = «Content-Length:». размер файла ($ fileTempPath). "\ Г \ п"; $ strRawMessage . = 'X-Upload-Content-Type: message / rfc822'. "\ Г \ п"; $ strRawMessage . = 'X-Upload-Content-Length:'. размер файла ($ fileTempPath). "\ Г \ п"; $ strRawMessage. = 'Content-Description:'. $ basename. ';' , "\ Г \ п"; $ strRawMessage. = 'Content-Disposition: attachment; filename = "'. $ basename. '"; size ='. filesize ($ fileTempPath). ';' . "\ r \ n"; $ strRawMessage. = 'Content-Transfer-Encoding: chunked'. "\ Г \ п \ г \ п"; $ strRawMessage. = chunk_split ($ fileData, 76, "\ r \ n"). "\ Г \ п"; $ strRawMessage. = "- {$ border} \ r \ n";

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

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