Google Calendar(もしくはGoogle Calendarのガジェット)からGASのFunctionを起動する方法について

422 views
Skip to first unread message

佐藤純也

unread,
Nov 1, 2012, 2:47:30 AM11/1/12
to google-app...@googlegroups.com
初めて投稿します。Google Apps Script すごいですね!
よろしくお願いします!

Google Calendarのイベント(スケジュール)に、後々交通費精算シートの作成のもとになる、経路と交通費のデータを紐づけて管理するシステムを考えています。
一番望ましいのは、Google Calendarにメニューを追加して、そこからGASのFunctionを起動して、ScriptDBにデータを格納する方法だと思っています。
しかし、Google Calendarにメニューの追加はできないですよね。 【念のための確認事項】

そこで、Google Calendarのガジェットを作ってなんとかできないかと考えているのですが、以下を教えていただけないでしょうか?
1)GASで作ったガジェットは、Google Calendarのガジェットに組み込めますでしょうか?
2)1)が無理な場合、Google Calendarのガジェットから、GAS Functionを起動する方法はありますでしょうか?GASでWebサービスを作るという感じで実現できたりしますでしょうか?
3)その他、別の方法で、スマートな方法はないでしょうか?

以上、よろしくお願いいたします。
情報など不足しておりましたら、お教えください。

--
佐藤 純也

takesy8455

unread,
Nov 1, 2012, 9:57:09 AM11/1/12
to google-app...@googlegroups.com
こんなのはどうでしょう?
カレンダーに定型書式("交通費:目的:行き先:手段:経路:金額"など)のタイトルのイベントを普通に追加していって
清算時にスプレッドシートから該当期間を指定して、カレンダーのイベントタイトルから集計する
(必要ならScriptDBやスプレッドシートに情報を保存)これならカレンダーから起動しなくていいのでは?

佐藤純也

unread,
Nov 2, 2012, 1:21:55 AM11/2/12
to google-app...@googlegroups.com
ありがとうございます!
カレンダーを交通費、行き先、などと複数作っておき、イベント登録のときは、同じ時間帯に、交通費、行き先、などのイベントを作成する、ということでしょうか?

2012年11月1日木曜日 22時57分09秒 UTC+9 takesy8455:

a2c

unread,
Nov 2, 2012, 1:31:39 AM11/2/12
to google-app...@googlegroups.com
a2cです。

それぞれの情報を個別のカレンダーを分けなくてもタイトルで
分けておけば期間指定で該当月のみの抜き出せるかと思います。
終日イベントでも引っかかるかと思います。


2012年11月2日金曜日 14時21分56秒 UTC+9 佐藤純也:

佐藤純也

unread,
Nov 2, 2012, 1:36:15 AM11/2/12
to google-app...@googlegroups.com
ありがとうございます。
交通費:目的:行き先:手段:経路:額 と、6つ項目がある場合、ひとつのイベントの登録の際、タイトルを変えて6回登録する、という理解で間違っていないでしょうか?


2012年11月2日 14:31 a2c <at...@cg5ch.com>:



--
佐藤 純也
Cell: 080-4295-1008


Ohashi, Keisuke

unread,
Nov 2, 2012, 2:14:09 AM11/2/12
to google-app...@googlegroups.com
大橋(soundTricker)です

前に試したときはCalendarのSidebar GadgetにはGASを表示できませんでした。
※GadgetでContent type=url で試したはずです。
※4月ぐらいだったと思います。
多分Calendar側にGASを表示というのは厳しい気がします。

なので、花村さんが仰るように、
Sidebar GadgetでイベントにExtendedPropertyか詳細欄に定型フォーマットで追加して、
GAS側で定期トリガーで取得するのが良いかなーと思います。

タイトルや詳細欄も有りだと思います。多分それが一番楽です。
ただ入力側が気をつける必要があるので、優しさ的にはSidebar Gadgetとか作った方がいいかもしれません。

なおExtendedPropertyはGASではCalendarAppからCalendar→eventと取得し、event.getTag("key")で取得できます。
なんか日本語がまま入れなかった覚えがありますが...
※なのでその時はBase64Encodeして入れていたはずです。

takesy8455

unread,
Nov 2, 2012, 2:43:49 AM11/2/12
to google-app...@googlegroups.com

花村さんのおっしゃるように、自分のイメージでは「日時:11月 2日 (金) タイトル:”交通費:展示会:ビッグサイト:電車:JR(品川-新橋)-ゆりかもめ(新橋-国展正門)往復:1040円"」などと":"を固定セパレータにして予定登録してもらって、
GASから"交通費:"で始まる予定を抽出してsplitでセパレータで分けた配列にしてDBやスプレッドシートに貼るなり直接集計するなり適宜処理するイメージで書いてました。

2012年11月2日金曜日 14時36分16秒 UTC+9 佐藤純也:

佐藤純也

unread,
Nov 2, 2012, 5:13:57 AM11/2/12
to google-app...@googlegroups.com
皆さま

ありがとうございます!とても助かりました!
いただいた情報をもとに考えます。
>Sidebar GadgetでイベントにExtendedPropertyか詳細欄に定型フォーマットで追加して、
>GAS側で定期トリガーで取得するのが良いかなーと思います。
この線で、考えて進めてみます。


2012年11月2日 15:43 takesy8455 <takes...@gmail.com>:

Shinichi Ogawa

unread,
Nov 2, 2012, 5:39:47 AM11/2/12
to google-app...@googlegroups.com
話題がそれますけど、

> あと、一応GoogleCalendarにはExtendedPropertyなるものがあり、
> 予定に自由な項目を追加することができます。
>
> CalendarAPI v3のドキュメントにもありました。

v3 でも使えるのですね、よかった!
この機能は便利なのでおすすめです。


2012/11/2 Soshi HANAMURA <han...@gmail.com>:
> 花村と申します。
>
> タイトルを変えるよりも一つの予定のDescriptionに定形でいれてもらい、
> AppsScriptの中で適宜読み取る、という形式で大丈夫じゃないでしょうか。
> 定形で入れてもらうという運用が難しいかとも思いますが…。
>
> あと、一応GoogleCalendarにはExtendedPropertyなるものがあり、
> 予定に自由な項目を追加することができます。
>
> CalendarAPI v3のドキュメントにもありました。
> https://developers.google.com/google-apps/calendar/v3/reference/events?hl=en
>
> また、ExtendedPropertyを使ったデモも以下にありました。
> https://www.gcalprops.com/
> (私の作ったものではないのでこちらは自己責任でお願いします。)
>
> ただ素のGoogleCaledarにはExtendedPropertyを表示/入力する術がないので、
> 外部サービスやガジェットを使って、
> 予定に交通費、行き先等を入れられるようにできれば、
> GASで予定を取得した際にそこにアクセスできるはずです。
> (それは過去試したことがあります。)
>
> 話がズレていたら申し訳ありませんが参考までに。
>
> # Soshi Hanamura
> # email: han...@gmail.com
> # phone: 090-6001-0860
>
>
>
> 2012/11/2 佐藤純也 <j100...@gmail.com>

Soshi HANAMURA

unread,
Nov 2, 2012, 5:57:21 AM11/2/12
to google-app...@googlegroups.com
> v3 でも使えるのですね、よかった!
> この機能は便利なのでおすすめです。

ですです!
以前v3のドキュメントに載っていないのでこれは…って話でしたが、
私も今日改めて見てみたらちゃんと載ってました(笑)



2012/11/2 Shinichi Ogawa <shin1...@gmail.com>

佐藤純也

unread,
Nov 28, 2012, 12:31:59 AM11/28/12
to google-app...@googlegroups.com
お世話になります。佐藤です。

時間が空いてしまいましたが、Google Calendar Sidebar Gadgetから、Google CalendarのExtended Propertyにアクセスする方法について質問させてください。

実現したい業務は以下です。
Google CalendarのEventに、移動の起点、移動の目的地、交通費を紐づけたい。
できれば、Google Calendar Sidebar Gadgetで実現できるとスマートでうれしい。


現在は、以下のように実現しています。
Google Spreadsheet とGASを使い、いったんカレンダーのイベントをSpreadsheetに持ってきて、移動の起点、目的地、交通費を追記後、カレンダーのイベントのTag(ExtendedProperty?)に格納している。
添付の①

また、以前に、花村さんから教えていただいたように、Webサービスにて、Google Calendar APIを使うことで、ExtendedPropertyにアクセス可能と理解しています。添付の②

【ここが不明点】
Google Calendar Siedebar Gadetからも、余裕でアクセスできるのかなと思っていましたが、実現の仕方がわからない状況です。添付の③
Google Calendar Siedebar のAPI?(下のリンク)は、Google Calendar EventのExtendedPortalにアクセスできないようです。

質問1:上記不明点の理解・認識は、正しいでしょうか?

質問2:Sidebar Gadgetを使い、なんらかの方法で、やりたいこと(似たこと)を実現できる方法はないでしょうか?

質問3:Google SitesのGadgetで、GASを使ってGoogle CalendarのExtended Propertyにアクセスすることは可能ですよね。

以上、よろしくお願いいたします。

佐藤
2012年11月2日金曜日 18時57分38秒 UTC+9 Soshi HANAMURA:
GoogleCalendarEvent.png
Reply all
Reply to author
Forward
Message has been deleted
0 new messages