Googleカレンダーへの登録

Gsuiteのアクティビティを使用して、
Googleスプレッドシートに記載された予定を
Googleカレンダーに登録しようとしているのですが、
カレンダーに登録するところで下記のエラーが出てしまい実行できません。

Error

Googleスプレッドシートから値を取得するところまでは実行できているので、
Googleアプリケーションスコープの設定は問題ないと思っています。
(認証はサービスアカウントキーを使用しています)

サービスアカウントのメールアドレスにカレンダーを共有し、
予定を追加できる権限も与えているのですが、
カレンダーに書き込めないというようなエラーが出ます。

どこか他に確認するべき設定があるのでしょうか。。

ご存知の方がいらっしゃいましたらご教授いただけないでしょうか。

例外の種類を見ると、GoogleApiExceptionとの事ですので、Googleから調査する方がよいかも。

とんちんかんなResかもしれませんが、
https://developers.google.com/calendar/v3/errors
http://freesoft.bbs.fc2.com/?act=reply&tid=7792938
がヒントになればいいですが。。。

こんにちは

現象的にはカレンダーに対する権限不足に見えます。
まずは設定でサービスアカウントに対する権限付与を疑うべきですが、そこが問題なしということは、別のカレンダーを見に行っている可能性をつぶしてみてはと思います。

カレンダーIDは適切でしょうか?
また、これの切り分けのために、「予定の検索」でのイベント取得の挙動はいかがでしょうか?あるいはそこで取得したURLへアクセスした先は想定のカレンダーでしょうか?
(URLはEventクラスのHtmlLinkプロパティで取得できます。)

HANACCHIさま

アドバイスありがとうございます!
仰るとおり、Google側でエラーが出ていることは確かです。
しかしながらこのエラーを解消するためには
どこの設定を変更するべきなのかが突き止められず。。。

Yoichiさま

いつもありがとうございます!

いただいたアドバイス通りに予定の検索を実行したところ、
参照先のカレンダーも間違っておらず、正しく動作しました。

ということは、参照できるが書き込めない状態になっているのではと推測するのですが、
その権限はどこで設定されているのかが不明です。。

サービスアカウントの設定を見てもこの権限に該当する設定が見当たらず、
Googleカレンダー自体の設定も「変更および共有の管理権限」を付与しており、
予定の新規作成ができる権限を持っていることになっています。

UiPathの質問からは離れてしまうのですが、
もし何かご存知でしたらご教示いただけないでしょうか。

1 Like

こんにちは

取り急ぎこちらの環境で動いている内容を共有します。
何か違いはありそうでしょうか?

カレンダーの設定

GSuiteScopeの設定
img20190814-3

Yoichiさま

引き続きご返信いただきありがとうございます。

自分のGoogleアカウントでデフォルトのカレンダーと、
デフォルトカレンダーとは別に新規で作成したカレンダーの2種類試しましたが
両方ともエラーの内容は変わりませんでした。

まず、デフォルトカレンダーの設定を確認すると、
サービスアカウントのメールアドレスには閲覧権限で共有されており、
それ以上の権限を持たせるためには管理者の設定が必要な主旨のメッセージが表示されます。

次に、新規で作成したカレンダーの設定ですが、
こちらはサービスアカウントのメールアドレスにも最上位の管理権限が与えられているのですが
今度は自分のGoogleアカウントに「オーナー」の表示がありません。

これらの状態から推測すると、私のGoogleアカウントは企業ドメインに属するものなので
企業ドメインの管理者の設定に何か原因があるように思いました。

お盆休み明けに確認しようと思います!

1 Like