google apps scriptについて

このQ&Aのポイント
  • google apps scriptに関しては全くの初心者ですので、どなたかお力をお貸しください。
  • 現在、Accessでシステムを作っているのですが、システムに新規案件が登録されると自動でグーグルカレンダーにも登録されるようにしています。
  • そこで質問なのですが、今度はシステムより同じ内容のメールを送り、そのメール内容と同じものがカレンダーで見つかるとその予定を削除するようなgoogle apps scriptを作りたいのです。
回答を見る
  • ベストアンサー

google apps scriptについて

google apps scriptに関しては全くの初心者ですので、どなたかお力をお貸しください。 現在、Accessでシステムを作っているのですが、システムに新規案件が登録されると自動でグーグルカレンダーにも登録されるようにしています。 具体的には、システムに新規案件が登録されたタイミングで件名を「★マーク+タイトル+日付+時間」、内容に案件詳細を入れたメールをgmailに送り、google apps scriptのトリガーで一定間隔でメールを検索し、件名に★マールの入ったメールがあれば件名に入っている日付・時間でカレンダーに内容を登録するようになっています。 そこで質問なのですが、今度はシステムより同じ内容のメールを送り、そのメール内容と同じものがカレンダーで見つかるとその予定を削除するようなgoogle apps scriptを作りたいのです。 メールのサンプルとgoogle apps scriptのコードは下記のようになっています。 全くの初心者でコードもネットを色々調べて書いたのであまり内容も理解できていません。 どなたか宜しくお願い致します。 メールサンプル 件名: ★取引先と打合せ 2015/08/02_16:00-18:00 内容: 管理NO 9016 2015/08/02 16:00-18:00 発注担当者:様 場所:事務所 登録日:2015/06/19/11:51 コード function setCalLab(){ var thds = GmailApp.getInboxThreads(); var calName = "メールアドレス@gmail.com"; var cals = CalendarApp.getCalendarsByName(calName); for(var n in thds){ var thd = thds[n]; var subject = thd.getFirstMessageSubject(); var msgs = thd.getMessages(); if (subject.indexOf("★",0) != -1){ //label.addToThread(thd); //for(var m in msgs){ var msg = msgs[0]; var body = msg.getPlainBody(); var str = msg.getSubject(); var res = str.match(/\d+/g); var cal = cals[0]; var d1 = new Date(); var yy = d1.getFullYear(); cal.createEvent(str,new Date(res[0],res[1]-1,res[2],res[3],res[4]),new Date(res[0],res[1]-1,res[2],res[5],res[6]),{description:body,sendInvites:false}); //} GmailApp.moveThreadToArchive(thd); } } }

  • baguo
  • お礼率100% (6/6)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

https://coconala.com/categories/231 ここで好きなサービスを選んで作ってもらったほうが早いですね。

baguo
質問者

お礼

ありがとうございます。こんなサービスがあったんですね。 ご指摘のとおりここで作ってもらったほうが早そうです。 問い合わせてみます。

関連するQ&A

  • Google Apps Scriptについて

    Google Apps Scriptについては全くの初心者です。どなたか知恵をお借りしたいです。 accessを使い業務システムを作っているのですが、これまでgoocalproxyというサービスを使い、新規受注を入力すれば、その内容をgmailに飛ばし、自動でグーグルカレンダーに登録させてました。このgoocalproxyが数日前から機能しなくなり、色々調べた結果Google Apps Scriptを使って登録する方法を見つけたのですが、全くの初心者の為、ネットで参考にしたサンプルのコピペしかできず、下記のようなコードを使用しております。 function setCalLab(){ //var dstr = "本日の予定"; //var label = GmailApp.createLabel(dstr); var thds = GmailApp.getInboxThreads(); var calName = "本日の予定"; var cals = CalendarApp.getCalendarsByName(calName); for(var n in thds){ var thd = thds[n]; var subject = thd.getFirstMessageSubject(); var msgs = thd.getMessages(); if (subject.indexOf("本日の予定",0) != -1){ //label.addToThread(thd); //for(var m in msgs){ var msg = msgs[0]; var body = msg.getPlainBody(); var str = msg.getSubject(); var res = str.match(/\d+/g); var cal = cals[0]; var d1 = new Date(); var yy = d1.getFullYear(); var dd = new Date(yy,res[0]-1,res[1]); cal.createAllDayEvent(str,dd,{description:body}); //} GmailApp.moveThreadToArchive(thd); } } } これですと、カレンダーに自動登録は出来るのですが、終日の予定になってしまいます。 やりたい事は、gmail宛てに予定の件名、日付、開始時間、終了時間を送りそれを自動でグーグルカレンダーに開始時間から終了時間までの予定で反映させたいと思っています。 別のサイトで、 function createEvent(){ var calendar = CalendarApp.getCalendarById('xxxxxxxxxx@group.calendar.google.com'); calendar.createEvent('歯医者', new Date('2012/3/12 18:00:00'), new Date('2012/3/12 20:00:00')); } 時間指定のほかに、予定の概要、場所情報を設定することもできる。 function createEvent2(){ var calendar = CalendarApp.getCalendarById('xxxxxxxxxx@group.calendar.google.com'); calendar.createEvent('歯医者', new Date('2012/3/12 18:00:00'), new Date('2012/3/12 20:00:00'), {description: '概要', location: '◯◯病院'} ); } というような情報も見つけたのですが、幾分全くの初心者の為、これをどうすれば思い通りのコードになるのかわかりません。 どなたかご教授お願い致します。

  • google apps scriptでメール送信

    google apps scriptでスプレッドシートを添付ファイルで送る方法をお教えください。 google apps scriptで SpreadsheetApp.getActiveSheet(); として取得しセルにデータを書き込んだスプレッドシートをEメール発信したいです。 sendEmail(送付先アドレス, タイトル, 内容, options); とすると思いますが、optionsの書き方がわかりません。 よろしくお願いします。 2012 Sep. 25.

  • Google Apps Scriptの記述

    フォームに入力したら、フォームに基づいてメールを送れるようにしたいと考えています。 そこで次のScriptを記述しました。しかし、フォームに入力し終わってもメールが送信されません。 Google Apps Scriptの参考サイトも無い事と、Googleも仕様を次々新しくしているので持っている書籍があまり参考になりません。 トリガーは次の通りです。 現在のプロジェクトのトリガーで、実行 mySendhokoku イベントスプレッドシートからフォーム送信時 としています。 scriptは function mySendhokoku(e) { var mail_to=e.nameValues["送信先"]; var datetime= new Date(); var hokoku=e.nameValues["報告種類"]; var kaisi=e.nameValues["開始時間"]; var shuryo=e.nameValues["終了時間"]; var kyukei=e.nameValues["休憩時間"]; var biko=e.nameValues["本文備考"]; var today=formatDate(datetime,"MM/dd"); var subject=hokoku+"連絡"+today+"名前"; var body="名前"+"\n\n"; var body=body+"開始時刻"+kaisi+"\n\n"; var body=body+"終了時刻"+shuryo+"\n\n"; var body=body+"休憩時間"+kyukei+"\n\n"; var body=body+biko+"\n\n"; MailApp.sendEmail(mail_to,subject,body); } ちなみに”名前”と言うところは実際は私の名前が入っています。読み替えてください。 日付は5/5などの様に記述したいと思っています。 初心者で至らない点ありますが、よろしくお願いいたします。

  • google apps script の停止方法

    google apps script について質問させていただきます。 同じような質問があれば本当に申し訳ありません。 Gmailの機能を少し変えようと [Gmailで受信した添付ファイルを自動的にGoogleドライブに保存する方法 ] http://ottan.me/2013/06/10/how-to-save-google-drive-automatically-gmail-attachment/ 上のアドレスにあるような、gmailの添付ファイルを自動でgoogle drive に保存する機能を追加しました。(手順通りにすすめました。) ところがどうもその機能がうまくいっていないのか、毎日のように 「Google Apps スクリプト 失敗のまとめ」のメールが来てしまいます。(添付画像参照) 機能を補修、もしくは消去したいのですが、どこから編集や消去すればよいのかわかりません。 また、自分javaの知識や、プログラミングの知識はほとんどありません。 (知識がないのに手を出してしまったのは反省しています・・・) 機能(google apps script)の補修の方法、もしくは消去の方法がわかる方はいらっしゃいますか。 ご教授のほど、どうぞよろしくお願い致します。

    • ベストアンサー
    • Gmail
  • Google Appsの登録

    個人で独自ドメインのメールアドレスをG-Mailで運用しようと思い, Google Appsに登録しようと思うんですが,うまくいきません。 下記のサイトにアクセスして登録しようとしたのですが(既にドメイン登録はお名前.comで済ませています), 会社・組織情報を入力する欄しかなく,個人の氏名で登録する欄がありません。 アクセスするページが間違っているのかとも思うのですが,見つかりません(Google Apps for Businessにアクセスしている訳ではないと思うのですが…)。 解説ページを探しても,私が見ているページとは違うようで,参考になりません。 どなたか,Google Appsへの登録方法が分かる方,ご教授頂けたら幸いです。 https://www.google.com/a/cpanel/standard/new3?hl=ja

  • Google Apps Scriptの質問です

    プログラマではありませんが、Googleサイトでサイトを作成しています。 そこでGoogle ドライブの機能を使ってお問い合わせフォームを設置したのですが お問い合わせがあった時に自分にメールが来るようにしたいと思いました。 調べたところ、以下のページでメールを送信するスクリプトを埋め込む方法が紹介されていました。 http://creazy.net/2011/03/google_form_mailsend.html ここの中段くらいにある「sendMailFromFormという名前の関数」をコピーして、自分のサイト用に使おうと思いました。 しかし、プログラム経験がないため内容が難しく、改変の仕方が判りません。 とりあえずメール送信先の「admin@example.com」を自分のメールアドレスにするのだけはなんとなく判りました。 やりたい事は ・お問い合わせしてきた人にはメールを返さなくて良い(自分にだけ届けばOK) ・フォームに「件名」という入力部分はないので、そこは省きたい どこをどう改変すればいいのか判る方おられましたらよろしくお願いします。

  • Google Appsに個人で登録する方法

    Google Appsに個人で登録する方法 こんにちは。 最近Google Appsなる存在に気付きました。 色々調べてみると、Standardエディションだと登録無料とのこと。 ただ、先に進むと企業ドメインを入力を求められました。 また、ドメインを持っていない人間はドメインを購入しないといけない雰囲気。 http://www.google.com/a/cpanel/domain/new Goodle Appsって個人(プライベート)のメールアドレスを入力するだけでは、登録できないんでしょうか? また、(一応会社員なんので)会社のメルアド入力もできるんですけど、そうしたら後々何か面倒事がおこるんですかね。 Google Appsに気になるフリーソフトがあるので、是非使ってみたいのです。 アドバイス宜しくお願いします。

  • Google appsの独自ドメインで全サービス

    GoogleAppsのビジネスなんとかを契約しています。 現在Gmailで独自ドメインを使っている状況なんですが、 Googleのサービスはこの登録している独自ドメインで使えないんですか? 例えばChrome同期用のアカウントなど、 独自ドメインで登録しようとしても登録できないのですが、 Appsの独自ドメインは単に「Gmailで独自ドメイン使えるよ!」ってだけでしょうか。 できれば、沢山のGoogleのサービスを一つのメールアドレスでまとめたいので…。 教えて下さい!

  • Googleクラウドスクリプティングでメール

    JavaScriptもGoogleApsも全くの初心者なのですが、業務で必要なため勉強し始めました。一人では行き詰ってしまいまして、どうかお力をお貸しください。 GoogleドキュメントのスプレッドシートのセルをGmailで送信しようとしています。結果は選択したセル範囲ではなく、"Sheet"という文字列がメールされてしまいます。どこがおかしいでしょうか。。 function myFunction() { var mySheet = SpreadsheetApp.getActiveSheet(); mySheet.getRange("D2:D6"); var mySubject = "件名"; var myBody = mySheet; var mailto = "メールアドレス"; GmailApp.sendEmail(mailto, mySubject, myBody ); } ※Googleクラウドスクリプティングのカテゴリがなくこちらで質問させていただきましたが、検討違いでしたら申し訳ございません。

  • サブドメインでGoogle Appsを使用する方法

    独自ドメインのメールアドレスを取得するためGoogle Appsを使用しようとしています。 サクラインターネットで取得したドメイン(example.jp)のサブドメイン(mail.example.jp)をGoogle Appsで使用したいと思っています。 まず、Google Appsにmail.example.jpで登録しました。 ドメインの所有権確認方法はいくつかありますが、今回はTXTレコードをDNS設定に追加する方法を選択しました。 サブドメインを使用する場合はまずCNAMEレコードを設定する必要があるとの情報を得たので、まずはこの設定を行いました。(以下、参考にしたページ) http://support.google.com/a/bin/answer.py?hl=ja&query=cname+%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89&answer=47283 その後、サブドメインにTXTレコードを追加しようとしたのですが、既にCNAMEレコードが登録されているので設定できないという旨のエラーが出て設定できませんでした。 そこで、サブドメイン(mail.example.jp)ではなく、example.jpにTXTレコードを追加したのですが、数時間たってもGoogle Appsの認証が通らず使用できない状態です。 このような場合、どうすれば認証テストをパスできるでしょうか? ご教授頂けると助かります。宜しくお願いします。