質問: 'かきくけこ\n\n' + message; GmailApp.sendEmail(address, title, content); } ### 発生している問題 Googleフォームに,回答者がアップロードした写真もメールに転送したいのですが,メールに転送されて送られてくる内容は,写真ではなく写真のIDになってしまいます.
回答: オーソドックスに添付する方法と、インラインイメージとしてメッセージに含む方法があります。 いずれにしましても、以下がポイントとなります。 1. フォーム送信時のトリガーにおいて、`getResponse()`では、**アップロード画像のID配列となる**(1点でも) 2. アップロードされた画像はフォーム設置アカウントのマイドライブ内に保存されるため、取得には**DriveAppでの操作が必要** その上で、画像は1点、JPEG前提で、以下、必要な部分のみ追記・修正しています。 (PNG等はMimeTypeを変更) **{画像アップロードの質問タイトル}**を必要に応じて差し替えていただければ動くと思いますが、動作確認はしていませんので参考まで。 なお、蛇足ですが、参考にしたサイトがあれば追記頂いたほうが良いと思います。 ### 添付 ``` function submitForm(e){ /*省略*/ for (var i = 0; i < itemResponses.length; i++) { /*省略*/ var answer = itemResponse.getResponse(); var options = {}; //オプション設定用オブジェクト if(question == '{画像アップロードの質問タイトル}'){ var img = DriveApp.getFileById(answer[0]); options.attachments = img.getAs(MimeType.JPEG); //JPEG前提 } else{ message += (i + 1).toString() + '. ' + question + ': ' + answer + '\n'; } } /*省略*/ GmailApp.sendEmail(address, title, content, options); } ``` ### インラインイメージ ``` /*省略*/ var answer = itemResponse.getResponse(); var options = {}; //オプション設定用オブジェクト if(question == '{画像アップロードの質問タイトル}'){ var img = DriveApp.getFileById(answer[0]); options.htmlBody = ''; options.inlineImages = {ansImg:img}; //JPEG以外も可 } /*省略*/ ``` [参考] * Google Apps Script Class GmailApp > sendEmail(recipient, subject, body, options)) * Google Apps Script Enum MymeType