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

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

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

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

Q&A

解決済

2回答

981閲覧

[GAS]スプレッドシートからカレンダーを更新するコードについて

ken_sho

総合スコア15

Google Apps Script

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

0グッド

3クリップ

投稿2019/04/04 03:00

前提・実現したいこと

スプレッドシートにスケジュールを記載し、カレンダーへ新規・更新・削除が行えるスクリプトを作成しています。
新規・削除は構築できましたが、更新に関しては適切なコードが見つからずどのように構築すれば分かりません。
リファレンスを追っかけていますが、
更新に関しては"set***"のような各項目に対して更新を掛けるようなコードしか見当たりませんでした。
※日付や招待に関するコードは見当たらず。

"createEvent(title, startTime, endTime, options)"のような一括で更新できるような
コードは無いのでしょうか。
削除→再作成はイベントIDが変わってしまうことと、スケジュール共有している場合の考慮が多いため
可能な限り避けたいです。

ご教示いただければと存じます。

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

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

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

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

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

papinianus

2019/04/04 12:55

質問の意図は、やり方が分からないということですか?それとも一括でないとapiアクセスが多いから遅くなって困るということですか?
ken_sho

2019/04/05 00:30

回答ありがとうございます。 >質問の意図は、やり方が分からないということですか?それとも一括でないとapiアクセスが多いから遅くなって困るということですか? →「やり方が分からない」が正しいです。 更新を行いたいのは、「タイトル」「日付(開始)」「日付(終了)」「詳細」「場所」「ゲスト」「ゲストの招待」の7項目です。 一括で更新可能なコードを希望していたのは、新規があるなら更新もあるだろうと思っていたからです。 もし個別でも上記項目への更新が行えるコードがあるなら、そちらでも全然構いません。 ただ、質問にも記載したように「削除→再作成」は様々な影響が発生するため避けたいと考えております。
guest

回答2

0

ベストアンサー

個別にやるなら
CalendarAppのCalendarEventより
「タイトル」
setTitle(title)
「日付(開始)」「日付(終了)」
setTime(startTime, endTime)
「詳細」
setDescription(description)
「場所」
setLocation(location)
「ゲスト」
getGuestList()addGuest(email)removeGuest(email)の組み合わせ
「ゲストの招待」
…はないかも?

投稿2019/04/05 01:55

macaron_xxx

総合スコア3191

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

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

ken_sho

2019/04/08 07:22

回答ありがとうございます。 「ゲスト」についてはまだ未確認ですが、 「タイトル」「日付」「詳細」「場所」について作ってみました。 「タイトル」「詳細」「場所」については更新できました。 「日付」について、オブジェクトに対して設定できるのは分かったのですが、 createEventのように作成に対するトリガーはあるのでしょうか? ダメもとでcalendarEvent.setTime(startTime,endTime)を実行してみましたが 「TypeError: オブジェクト CalendarEventSeries で関数 setTime が見つかりません。」というエラーが発生し、処理されませんでした。
macaron_xxx

2019/04/09 00:10

setTimeはエラーの通り、CalendarEventSeriesにはありませんのでCalendarEventに対して実行してください。
macaron_xxx

2019/04/09 00:11

作成に対するトリガーという日本語はよくわかりません。
ken_sho

2019/04/09 08:13

CalendarEventに指定を変えたところ意図通り動きました! とても助かりましたありがとうございます。
guest

0

おそらくCalendarAppにはないです。
Calendar APIのpatchまたはupdateを利用してください。

投稿2019/04/04 07:53

macaron_xxx

総合スコア3191

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

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

ken_sho

2019/04/05 00:13

回答ありがとうございます。やはりありませんか。。 > Calendar APIのpatchまたはupdateを利用してください。 APIについて調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問