質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

0回答

1660閲覧

Gmailへ転送させたpdf付きのFAXをGoogleDriveへ複製アップロードさせたい

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2020/09/08 06:07

編集2020/09/08 07:22

前提・実現したいこと

複合機で受信させたFAXをGmailに転送し、その中に含まれるPDFファイルをGoogleDriveに複製しアップロードさせたい。
又、Slackは利用していないため下記記載のコード内容のSlackへ通知以下は削りたい。

発生している問題・エラーメッセージ

Exception: DriveApp オブジェクトでの getFolderById メソッドまたはプロパティの取得中に予期しないエラーが発生しました。(行 3、ファイル「マクロ」)

該当のソースコード

function uploadFaxPDFtoDrive() { var folderId = '[YourGoogleSharedDriveId]'; var folder = DriveApp.getFolderById(folderId); var label = GmailApp.getUserLabelByName('アップロード済'); //FAXメールの抽出条件 var threads = GmailApp.search('subject:FAX filename:pdf has:nouserlabels', 0, 500); //対象のメールが存在しない場合は処理を終了 if(threads.length == 0) { console.log("新着メールなし"); return; } //Googleドライブに添付ファイルをアップロード try { threads.forEach(function(thread){ var messages = GmailApp.getMessagesForThread(thread); for(var i = 0; i < messages.length; i++) { //スレッドに既読メールが含まれる場合は処理をスキップ if(messages[i].isUnread()) { var attachments = messages[i].getAttachments(); for(var j = 0; j < attachments.length; j++){ folder.createFile(attachments[j]); } } } //アップロード済みのスレッドを既読にしてラベルを付ける thread.addLabel(label); thread.markRead(); }); //Slackへ通知 var botName = 'SlackBot'; var botIcon = ':fax:'; var slackWebhookURL = '[YourSlackWebhookURL]'; var slackMessage = 'FAXが届きました!\n' + 'https://drive.google.com/drive/folders/' + folderId; var jsonData = { "username" : botName, "icon_emoji" : botIcon, "text" : slackMessage }; var payload = JSON.stringify(jsonData); var options = { "method" : "post", "contentType" : "application/json", "payload" : payload }; UrlFetchApp.fetch(slackWebhookURL, options); }catch(e){ console.log(e); } }

試したこと

当方、こういった知識はほぼ皆無でネット上でやり方を色々調べてはみたものの・・・といった状態です。
無知な状態で手を出すなと言わればそれまでなのですが、何とか有識者様たちのお力を借りたく質問させていただきました。

補足情報(FW/ツールのバージョンなど)

追記:下記コードの出典元です。
https://note.com/w_yoshida/n/ne1e213cfb440

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/09/08 06:12

どこまでできるんでしょうか 届いたFAXのPDFはPC上でみることはできるんでしょうか
退会済みユーザー

退会済みユーザー

2020/09/08 06:30

ご返信ありがとうございます。 はい。現状はFAX受信⇒Gmailへ転送が出来ており、PDFの閲覧も可能です
CHERRY

2020/09/08 07:10

質問に記載されているコードは、ご自身で作成されたわけではないのでしょうか? 参考にされたWebサイト等があるのであれば、出典URLを質問に追記していただけないでしょうか。
退会済みユーザー

退会済みユーザー

2020/09/08 07:23

すみません。補足情報欄に記載いたしました。
sawa

2020/09/08 08:20

エラーが出てるfolderId のところは、ちゃんと ご自身の保存先としたいフォルダのIDを記述してますか?
退会済みユーザー

退会済みユーザー

2020/09/09 01:09

ご指摘ありがとうございます。 すみません、そちら出来ておりませんでした forlderIDの部分を先程GoogleDriveの保存先に書き換え試してみたところ、下記エラーが発生しました。 Exception: 使用しようとしている機能は、ドメイン管理者により無効にされています。 こちらの回避策などご存知でしたらご教授ください。
sawa

2020/09/09 01:45

Gsuiteですかね? 可能性としては Slack通知の部分が 外部への接続ってことでセキュリティで制限されてるのでは?コード内の Slack通知の部分を削って試してみてはどうでしょうか。 Slack通知の部分をどう削っていいかわからないレベルなら、クラウドワークスあたりでお金をかけてきちんとサポート依頼することをお勧めします。
退会済みユーザー

退会済みユーザー

2020/09/09 05:58

ご返信ありがとうございます。 セキュリティ上の制限でしたか・・・ Slack通知の部分は自身でも少し調べて色々試してみようと思います。 ありがとうございます。
CHERRY

2020/09/09 10:36

Slack 通知はいらないと書かれていますので、出典元の 37行目から58行目を削除するとどうなりますか?
退会済みユーザー

退会済みユーザー

2020/09/11 00:21

ご返信ありがとうございます。 試行してみたところ、下記エラーが発生してしまっており folderIDの行でのエラーみたいでしたので、そもそも管理者側からこういったアクセスをブロックするように設定されているという認識でよろしいのでしょうか? Exception: 使用しようとしている機能は、ドメイン管理者により無効にされています。(行 3、ファイル「マクロ」)
sawa

2020/09/11 01:18

保存先として想定されてる GoogleDriveのフォルダは 会社?のだと思いますが、ご自身で作成されたフォルダですか? あと、GAS実行されているブラウザは 会社のGsuiteアカウントと 個人のGmailと2つアカウントログインしてたりしますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問