- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-23-2022 10:51 PM
コミュニティの皆様
いつもお世話になっております。
私はGoogle Cloud Platformのサービスアカウントキーを使用して、
ServiceNowからGoogle Calendarに接続できるかを調査しています。
キー情報をJWTとしてServiceNowに登録し、アクセストークンを取得後
Google Calendarに接続できていることを確認しました。
しかし、生成されると思っていたリフレッシュトークンが生成されませんでした。
リフレッシュトークンが無い場合は「Get OAuth Token」ボタンを1時間に1回押す必要があるので、大変手間になると考えております。
※認識に違いがありましたら、ご指摘をお願いいたします。
設定漏れなど何か原因にお心当たりがある方は、ご教示して頂けないでしょうか。
もう1週間近く調べておりますが、プログラミング初心者ということもあり、
上記の調査がかなり難航しておりますので、ご協力をお願いいたします。
よろしくお願いいたします。
Rest Message:
HTTP Method テスト:
Manage Token
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2022 01:51 AM
独自にRestAPIでデータを取得しようとしているのでしたら、下記のURLにあるようなScriptでAccessTokenを毎回取得して、Google Calendarに接続するのはどうでしょうか。毎回だと頻度が高いならスケジュールで定期的に再作成してシステムプロパティーにでも保存しても良いかもしれません。
JWT を使用した Google Cloud API サービス アカウントの認証 - プラットフォーム - 記事 - ServiceNow コミュニティ
私がテストしたときには何故かAccessTokenの後ろに不要な文字化けした文字コードが付いてくる謎の挙動でしたが、後ろを切り捨ててAccessTokenとして使用すれば問題なく動作しました。
また、Googleの別のユーザーになりすましが必要な時は、他の人のCommentにあるように"sub"をpayloadに追加すると良いです。
サービスアカウントを利用した場合は、Refresh Tokenは使わないGoogleの仕様のようです。下記に公式ページを参照してください。
- サービスアカウント [一部抜粋]クライアント ID と秘密鍵を使用して署名付き JWT を作成し、適切な形式でアクセス トークン リクエストを作成します。アプリケーションは、トークン リクエストを Google OAuth 2.0 認証サーバーに送信します。このサーバーはアクセス トークンを返します。アプリケーションはこのトークンを使用して Google API にアクセスします。トークンの有効期限が切れると、アプリケーションはこのプロセスを繰り返します。
その他の接続方式にはRefresh Tokenを使った仕様になっています。
- ウェブサーバーアプリケーション
https://developers.google.com/identity/protocols/oauth2#webserver
[一部抜粋]Google がユーザー認証、セッション選択、ユーザーの同意を処理します。その結果、アプリケーションがアクセス トークンや更新トークンと交換できる認証コードが生成されます。アプリケーションは、今後の使用のために更新トークンを保存し、アクセス トークンを使用して Google API にアクセスする必要があります。アクセス トークンが期限切れになると、アプリケーションは更新トークンを使用して新しいトークンを取得します。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2022 01:51 AM
独自にRestAPIでデータを取得しようとしているのでしたら、下記のURLにあるようなScriptでAccessTokenを毎回取得して、Google Calendarに接続するのはどうでしょうか。毎回だと頻度が高いならスケジュールで定期的に再作成してシステムプロパティーにでも保存しても良いかもしれません。
JWT を使用した Google Cloud API サービス アカウントの認証 - プラットフォーム - 記事 - ServiceNow コミュニティ
私がテストしたときには何故かAccessTokenの後ろに不要な文字化けした文字コードが付いてくる謎の挙動でしたが、後ろを切り捨ててAccessTokenとして使用すれば問題なく動作しました。
また、Googleの別のユーザーになりすましが必要な時は、他の人のCommentにあるように"sub"をpayloadに追加すると良いです。
サービスアカウントを利用した場合は、Refresh Tokenは使わないGoogleの仕様のようです。下記に公式ページを参照してください。
- サービスアカウント [一部抜粋]クライアント ID と秘密鍵を使用して署名付き JWT を作成し、適切な形式でアクセス トークン リクエストを作成します。アプリケーションは、トークン リクエストを Google OAuth 2.0 認証サーバーに送信します。このサーバーはアクセス トークンを返します。アプリケーションはこのトークンを使用して Google API にアクセスします。トークンの有効期限が切れると、アプリケーションはこのプロセスを繰り返します。
その他の接続方式にはRefresh Tokenを使った仕様になっています。
- ウェブサーバーアプリケーション
https://developers.google.com/identity/protocols/oauth2#webserver
[一部抜粋]Google がユーザー認証、セッション選択、ユーザーの同意を処理します。その結果、アプリケーションがアクセス トークンや更新トークンと交換できる認証コードが生成されます。アプリケーションは、今後の使用のために更新トークンを保存し、アクセス トークンを使用して Google API にアクセスする必要があります。アクセス トークンが期限切れになると、アプリケーションは更新トークンを使用して新しいトークンを取得します。