Googleカレンダーのイベント取得について

541 views
Skip to first unread message

noriko sono

unread,
May 21, 2014, 1:12:01 AM5/21/14
to google-app...@googlegroups.com
こちらに初めて書き込ませていただきます。

現在、各社員に対し、業務や研修にアサインされると、自動的に特定ユーザーAさんが各社員のカレンダーに予定を登録するシステムを動かしています。
システム自体はGoogle以外のシステムを使用して、Googleカレンダーに連動させているのですが、最近、その連動に失敗する事態が発生しています。

Aさんのカレンダーは真っ白で何も登録されておらず
私のカレンダーにはAさんが作成者の予定があります。

1.連動に失敗している原因が不明なのですが、何か思い当たる部分がある方がいらっしゃれば、教えていただければと思います。

2.Aさんが作成した予定をScriptなどで抽出したいのですが、どうすれば良いのでしょうか?
私の予定を抽出することが可能なのは分かったのですが、Aさんが全社員に対して作成した予定を出す方法が分かりません。

3.Aさんが作成した予定の数が上限値に達しているのでは?との憶測があり、予定を削除したいのですが
各社員に対し作りに行った予定を削除するようなScriptはありますでしょうか?


質問ばかりで申し訳ありません。私自身も調査していますが、業務に支障が出ているため、緊急を要しています。
どなたかご教授いただければと思います。

Shinichi Ogawa

unread,
May 21, 2014, 4:01:40 AM5/21/14
to google-app...@googlegroups.com
noriko sono さん

スクリプトがあるかどうかはわかりませんので、自分で実装するヒント程度です。

> Aさんのカレンダーは真っ白で何も登録されておらず
> 私のカレンダーにはAさんが作成者の予定があります。

これは、どちらもGoogleカレンダーを指していますか?
Aさんが作成者した予定がnoriko sonoさんのGoogleカレンダーに登録されているのに、
AさんのGoogleカレンダーの該当日時にはその予定が無い、という事でしょうか?

> 2.Aさんが作成した予定をScriptなどで抽出したいのですが、どうすれば良いのでしょうか?

Calendar APIでは、カレンダーを指定して予定を検索することしかできないので、
対象となるカレンダー全てに対して検索を行うしかないと思います。

https://developers.google.com/google-apps/calendar/v3/reference/events/list

> 各社員に対し作りに行った予定を削除するようなScriptはありますでしょうか?

対象の予定を取ることができれば、
それらの予定に対してdeleteメソッドを実行する、といった方法になります。

https://developers.google.com/google-apps/calendar/v3/reference/events/delete
> --
> このメールは Google グループのグループ「Google Apps API Japan」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには
> google-apps-api-...@googlegroups.com にメールを送信してください。
> このグループに投稿するには google-app...@googlegroups.com にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

noriko sono

unread,
May 21, 2014, 7:56:12 PM5/21/14
to google-app...@googlegroups.com
shin1ogawaさん
ヒントありがとうございます。

これは、どちらもGoogleカレンダーを指していますか?
Aさんが作成者した予定がnoriko sonoさんのGoogleカレンダーに登録されているのに、
AさんのGoogleカレンダーの該当日時にはその予定が無い、という事でしょうか?
おっしゃる通り、Googleカレンダーのお話です。
Aさんのカレンダーには何も予定が書かれておらず、私のカレンダーにはAさん作成の予定が書かれています。
 
Calendar APIでは、カレンダーを指定して予定を検索することしかできないので、
対象となるカレンダー全てに対して検索を行うしかないと思います。
やはり指定することは出来ないんですね・・・ありがとうございます。

カレンダーの上限値はいろいろあるようですが、ヘルプを見ても今回の連携エラーがどの上限値に値しているのかが分からず
どう対処すれば良いのかあまり見当がついていない状態です。
他の人に対して作成した予定を削除したら、新たに予定が作成できるようになるんでしょうか・・・謎です。

Tatsuya Nakano

unread,
May 22, 2014, 10:09:15 AM5/22/14
to google-app...@googlegroups.com
noriko sonoさん

システム自体はGoogle以外のシステムを使用して、Googleカレンダーに連動させているのですが
この部分はどういう仕組みで実現されているかご存知ですか?(Calendar APIを使用している?)
また、そちらの方でエラーログ等は出ていないのでしょうか?

Aさんのカレンダーには何も予定が書かれておらず、私のカレンダーにはAさん作成の予定が書かれています。
Aさんのカレンダーから予定(今まで作れていたもの)を数十件削除してみてから再び試してみてはどうでしょうか。
また、AさんのGoogleカレンダーの画面から予定の登録は行えますか?


noriko sono

unread,
May 23, 2014, 2:27:35 AM5/23/14
to google-app...@googlegroups.com
Tatsuya Nakanoさん
回答ありがとうございます。
 
この部分はどういう仕組みで実現されているかご存知ですか?(Calendar APIを使用している?)
また、そちらの方でエラーログ等は出ていないのでしょうか?
CalenderAPIは使用しているようです。 
エラーはjBOLTでの連携エラーでログも出ていますが、各方面に問い合わせても根本原因が分からず
「恐らくAさんの上限値に達したんだろう」と決めつけられている状態です。
 

Aさんのカレンダーには何も予定が書かれておらず、私のカレンダーにはAさん作成の予定が書かれています。
Aさんのカレンダーから予定(今まで作れていたもの)を数十件削除してみてから再び試してみてはどうでしょうか。
また、AさんのGoogleカレンダーの画面から予定の登録は行えますか?
Aさんのカレンダーには予定がないため、削除が出来ません。
現在、カレンダー共有している人を抽出し(1500人しか出ませんでした)
その対象者のカレンダーに対し、Aさんが作成した予定を削除するScriptを作成して動かしていますが・・・
5分でタイムアウトになってしまうので1回あたり10人程度しか出来ない状態です。

Tatsuya Nakano

unread,
May 23, 2014, 12:58:39 PM5/23/14
to google-app...@googlegroups.com
noriko sonoさん

今の情報だけですとjBOLTが原因なのかCalendar APIが失敗しているのかちょっと判断できませんね。

5分というのはGoogle Apps Scriptでしょうか。
こちらに書かれている方法で解決できるみたいです。(少し古い投稿なので現在も可能なのかはわかりませんが)



2014年5月23日金曜日 15時27分35秒 UTC+9 noriko sono:

noriko sono

unread,
May 28, 2014, 8:44:33 PM5/28/14
to google-app...@googlegroups.com
Tatsuya Nakanoさん

回答ありがとうございます。
連携エラー側は何が原因が不明のまま、調査も行き詰っていますが、
Aさんが作成した予定を消すと、大凡消した件数分は連携が成功するので
カレンダーの上限値にかかっているようです。

Aさん作成の予定削除に関してはGASで少しずつ消していますが、
権限エラーが出たり、5分のタイムアウトにかかったり、あまりスムーズではありません。
どうやら、削除時にAさんが各社員のカレンダーにアクセスし、自分が作った予定か
1件1件確認するため、そのアクセス数も上限に達したりしているようです。
あくまで弊社メンバー間の憶測ですが・・・

取りあえず、現在は何とか地道ですが消しながら対応は出来ています。
皆様ありがとうございました。
また、行き詰ったら助けてください!
Reply all
Reply to author
Forward
0 new messages