Error answering mail using google api

0

when I use the api to answer emails, everything works but if I add an attachment it marks error

Fatal error:  Uncaught exception 'Google_Service_Exception' with message '{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidArgument",
    "message": "'raw' RFC822 payload message string or uploading message via /upload/* URL required"
   }
  ],
  "code": 400,
  "message": "'raw' RFC822 payload message string or uploading message via /upload/* URL required"
 }
}
' in C:\xampp\htdocs\crm\vendor\google\apiclient\src\Google\Http\REST.php:118
Stack trace:
#0 C:\xampp\htdocs\crm\vendor\google\apiclient\src\Google\Http\REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...')
#1 [internal function]: Google_Http_REST::doExecute(Object(GuzzleHttp\Client), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...')
#2 C:\xampp\htdocs\crm\vendor\google\apiclient\src\Google\Task\Runner.php(176): call_user_func_array(Array, Array)
#3 C:\xampp\htdocs\crm\vendor\google\apiclient\src\Google\Http\REST.php(58): Google_Task_Runner->run( in C:\xampp\htdocs\crm\vendor\google\apiclient\src\Google\Http\REST.php on line 118

This is my code to both send and reply,

    if (empty($attachments)) {
        $mime = base64url_encode($mime);
        $message->setRaw($mime);
        $result = $service->users_messages->send('me', $message);
    }else{
        $chunkSizeBytes = 1 * 1024 * 1024;
        $size = strlen($mime);
        $status = false;
        $client->setDefer(true);
        $result = $service->users_messages->send('me', $message, [ 'uploadType' => 'multipart']);
        $media = new Google_Http_MediaFileUpload(
            $client,
            $result,
            'message/rfc822',
            $mime,
            true,
            $chunkSizeBytes
        );
        $media->setFileSize($size);

        while (!$status  ){
            $status = $media->nextChunk();
        }

        $client->setDefer(false);
    }

I've been doing tests the error is in

    $chunkSizeBytes = 1 * 1024 * 1024;
    $size = strlen($mime);
    $status = false;
    $client->setDefer(true);
    $result = $service->users_messages->send('me', $message, [ 'uploadType' => 'multipart']);
    $media = new Google_Http_MediaFileUpload(
        $client,
        $result,
        'message/rfc822',
        $mime,
        true,
        $chunkSizeBytes
    );
    $media->setFileSize($size);

    while (!$status  ){
        $status = $media->nextChunk();
    }

    $client->setDefer(false);

since if I use

    $mime = base64url_encode($mime);
    $message->setRaw($mime);
    $result = $service->users_messages->send('me', $message);

the attachment arrives without problems the detail here is fails when they are large files fails

    
asked by Stilgar 30.03.2018 в 08:30
source

0 answers