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

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

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

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

OAuth

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

946閲覧

GoogleDataPotal (GoogleDataStudio)上でユーザーに入力させたClient情報でコミュニティコネクタのOAuth2.0認証をしたい

th18

総合スコア0

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

OAuth

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

1クリップ

投稿2021/12/10 03:35

前提・実現したいこと

GoogleDataPotal (GoogleDataStudio)上でユーザーに入力させたClient情報でコミュニティコネクタのOAuth2.0認証をしたい

発生している問題・エラーメッセージ

初心者です。

Googleのドキュメントを参考に、APIをOAuth2.0認証を通して、GoogleDataPotalにデータを表示させることができました。

ただ、ドキュメントの方法ではGoogleAppsScript上のコード(getOAuthService)にClient情報を直打ちしています。
これをより汎用性を上げるために、Client情報をGoogleDataPotal上で項目に入力させるgetConfigで設定し、入力させたClient情報でOAuth2.0認証をしたいです。

ただ認証の手順的にgetConfigで設定した項目に入力させる前に、Client情報を使って認証画面を表示させていると考えており、ソースコードで示すような改変をしても、当然ですが認証画面を表示させることができません。

そこでそもそも実現したいことが可能なのか、可能であるならば解決方法(コードの改変、もしくは外部サービスでGoogleAppsScript上のgetOAuthServiceにClient情報を反映させる方法など)を教えていただきたいです。

該当のソースコード

GoogleAppsScript

1var getOAuthService = function() { 2 return OAuth2.createService('...') 3 .setAuthorizationBaseUrl('...') 4 .setTokenUrl('...') 5 .setClientId(request.configParams.clientId) 6 .setClientSecret(request.configParams.clientSecret) 7 .setPropertyStore(PropertiesService.getUserProperties()) 8 .setCallbackFunction('authCallback') 9 .setScope('...'); 10};

GoogleAppsScript

1function getConfig() { 2 var config = cc.getConfig(); 3 4 config 5 .newInfo() 6 .setId('...') 7 .setText('...'); 8 9 config 10 .newTextInput() 11 .setId('...') 12 .setName('...') 13 .setHelpText('') 14 .setPlaceholder('...'); 15 16 config 17 .newTextInput() 18 .setId('clientId') 19 .setName('Client Id') 20 .setHelpText('Client Id'); 21 22 config 23 .newTextInput() 24 .setId('clientSecret') 25 .setName('Client Secret') 26 .setHelpText('Client Secret'); 27 28 config.setDateRangeRequired(true); 29 30 return config.build(); 31}

試したこと

  1. 以下のリンク先を参考に、認証なしのコミュニティコネクタの作成。

コミュニティ コネクタを使ってみる
Connect and visualize all your data in Data Studio

  1. 以下のリンク先を参考に、認証ありのコミュニティコネクタの作成。

OAuth 2.0 による認証

  1. getConfigにClientIdとClientSecretの項目を追加し、getOAuthServiceのClientIdとClientSecretを直打ちする部分にrequest.configParams.clientIdとrequest.configParams.clientSecretを挿入。

→(認証画面を表示するのにClient情報が必要なので当然だが)DataPortalに必要なコネクタとの承認でエラーがでる。

補足情報

こちらの方はJavaScriptでコーディングされていますが、参考にさせていただきました。
意外と簡単!Google Data Studio のコネクタの作り方(Qiitaのデータを表示する)

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問