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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

Q&A

0回答

3149閲覧

【ご質問】GASによるGoogleカレンダー招待通知に関するお問合せ

s-ka-fumu

総合スコア12

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

0グッド

1クリップ

投稿2019/05/11 04:01

編集2019/05/11 12:16

前提・実現したいこと

Google スプレッドシートから複数担当者に宛ててGoogleカレンダーへの自動登録するシステムを作っております。

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

エラーメッセージは出ないのですが、カレンダーの招待通知が送ることができません。また、イベントを削除した場合の通知もなされません。
尚、カレンダーの招待は正常にできております。

該当のソースコード

sendInvites: true

試したこと

下記の様なGASを記述しました。

スプレッドシートCalには
1行目:イベントタイトル
2行目:担当者メールアドレス(カレンダーID)
3行目:開始時間(2019/04/01 12:00の形式で記述)
4行目:終了時間(2019/04/01 12:00の形式で記述)
5行目:場所
6行目:説明
7行目:カレンダー登録状況
の情報があります。

下記のコードでは、
自分のカレンダーへの登録及び担当者へのカレンダーへの登録はできるのですが、カレンダーの招待通知ができず困っております。

リファレンスも見てみましたが、解決できませんでした。
お分かりになられる方がいらっしゃいましたら、ご教示いただけますと幸いです。

https://developers.google.com/apps-script/reference/calendar/calendar-app#createeventtitle-starttime-endtime-options

function createCalendar() {
var sh = SpreadsheetApp.getActive().getSheetByName('シート名');
var values = sh.getDataRange().getValues();
var calendars = CalendarApp.getDefaultCalendar(); 

for(var i = 1; i < values.length; i++){
var title = values[i][0];
var startTime = values[i][2];
var endTime = values[i][3];
var option = {
location: values[i][4],
description: values[i][5],
guests:values[i][1],
sendInvites: true
};

added = values[i][6]; if(added == "") { calendars.createEvent(title, startTime, endTime, option); sh.getRange(i+1,7).setValue("追加済み") }

}
}

補足情報

尚、下記の内容ではカレンダーの招待通知は出せました。
function createCalendar() {

var event = CalendarApp.getDefaultCalendar().createAllDayEvent(
'テスト',
new Date('August 15, 2019'),
new Date('August 16, 2019'),
{
location: 'Bethel, White Lake, New York,U.S.',
guests:"担当者メールアドレス",
sendInvites: true});
}

何卒、宜しくお願いいたします。

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

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

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

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

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

mistn

2019/05/11 06:30

カレンダーにイベントの登録はできているのでしょうか。
s-ka-fumu

2019/05/11 06:32

ご質問いただきまして誠にありがとうございます。自分自身のカレンダーへのイベント登録及びゲストへのカレンダーのイベント登録はできております。宜しくお願いいたします。
mistn

2019/05/11 06:41

質問にあるプログラムをgasで動かしてみましたがイベントの登録はされませんでした。 そのイベントは本当にプログラムを実行して登録されたものですか。
s-ka-fumu

2019/05/11 11:20

ご自身でお試しいただけているとのこと、誠にありがとうございます。こちらは実際に動かしたものです。 var sh = SpreadsheetApp.getActive().getSheetByName('シート名'); の'シート名'のところをmistn様が使用されているスプレッドシート名にご変更いただけるかとおもいます。何卒、宜しくお願いいたします。
mistn

2019/05/11 12:09

もちろんシート名は変えております。 状況が再現できない以上私では力になれそうにありません。申し訳ありませんでした。
macaron_xxx

2019/05/13 01:49

記載いただいたコードで招待メールまで届きましたよ。
s-ka-fumu

2019/05/13 01:57

mistn様 貴重なお時間を使っていただきまして誠にありがとうございました。 macaron_xxx様 ご実行いただきまして誠にありがとうございます。macaron_xxx様の方では招待メールを飛ばすことができたとのことご連絡いただきまして誠にありがとうございます。GAS以外の設定を確認してみます。
macaron_xxx

2019/05/29 01:44

どうなりました? 放置やめてくださいね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問