2016-07-20 21 views
0

Google API PHPクライアントを使用しています。あるアカウントから別のアカウントに大量のメッセージをインポートするプログラムを作成しています。インポートするには、私はラインを使用しています:Gmail APIインポート - エラー413リクエストエンティティが大きすぎます

$service->users_messages->import('me', $message, $options); 

..whereの$メッセージは$service->users_messages->get()から来て、生のメッセージです。

まず、1つのアカウントからメッセージのリストを取得します。ユーザーがインポートするメッセージを選択し、[インポート]ボタンをクリックします。インポートは選択したメッセージをループして正常に動作しますが、大きな添付ファイルを含むメッセージがあります。これらのメッセージは失敗し、エラー413 - リクエストエンティティが大きすぎます。

私はアップロードタイプがマルチパートであることを示す必要があることを読んでいます。 Google API PHPクライアントを使用していますが、このアップロードタイプを追加するためのメソッド、クラスまたはオプションは表示されません。

提案が参考になります。ありがとう。

答えて

0

変数$ messageをmail with attachmentコードスニペットに設定してみてください。

$strRawMessage .= "\r\n--{$boundary}\r\n"; 
$strRawMessage .= 'Content-Type: '. $mimeType .'; name="'. $fileName .'";' . "\r\n"; 
$strRawMessage .= 'Content-ID: <' . $strSesFromEmail . '>' . "\r\n"; 
$strRawMessage .= 'Content-Description: ' . $fileName . ';' . "\r\n"; 
$strRawMessage .= 'Content-Disposition: attachment; filename="' . $fileName . '"; size=' . filesize($filePath). ';' . "\r\n"; 
$strRawMessage .= 'Content-Transfer-Encoding: base64' . "\r\n\r\n"; 
$strRawMessage .= chunk_split(base64_encode(file_get_contents($filePath)), 76, "\n") . "\r\n"; 
$strRawMessage .= '--' . $boundary . "\r\n"; 

$strRawMessage .= "\r\n--{$boundary}\r\n"; 
$strRawMessage .= 'Content-Type: text/plain; charset=' . $charset . "\r\n"; 
$strRawMessage .= 'Content-Transfer-Encoding: 7bit' . "\r\n\r\n"; 
$strRawMessage .= $strMailTextVersion . "\r\n"; 

$strRawMessage .= "--{$boundary}\r\n"; 
$strRawMessage .= 'Content-Type: text/html; charset=' . $charset . "\r\n"; 
$strRawMessage .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n"; 
$strRawMessage .= $strMailContent . "\r\n"; 
// The message needs to be encoded in Base64URL 
$mime = rtrim(strtr(base64_encode($strRawMessage), '+/', '-_'), '='); 
$msg = new Google_Service_Gmail_Message(); 
$msg->setRaw($mime); 

また、このcurl implementationまたはこのajax implementation

+0

おかげで、まだ動作しませんでしたを確認します。私のメッセージは同じフォーマットであり、大容量の添付ファイルを持っている人を除き、正常にインポートされています。 –

関連する問題