2 つの異なる OAuth 接続を処理する Google App Script を作成しました。
1- ユーザーに代わってメールを送信し、Google ドキュメントにアクセスするための Google 自体 (キー、シークレットの取得に使用される Google API コンソール)
2- タイムシートのクラウドベースのアプリである gtraxapp。(スクリプトの登録、キー/シークレットの取得など)
スクリプトは Web アプリとして公開されます。それは私のユーザーにとって完璧に機能します。
別のユーザー名でログオンすると、別のキー/シークレットを提供せずに Google OAuth を承認でき、実際のユーザーからメールが送信されます。
2 番目のアプリ (gTrax) で問題が発生します。承認は機能しているようです。スクリプト内で関数を実行して許可を求める画面につながると、gtrax が登録済みアプリとしてアカウントに表示されます (必要に応じてアクセスを取り消すことができます)。しかし、アプリを実行すると、このアクションを実行するには許可が必要だというメッセージが表示されます (UrlFetchApp / simple get)
私の質問は:
全員のキー/シークレットを取得するために各ユーザーを登録する必要がある可能性はありますか(スクリプトでそれを処理します)...または、OAuthは1つのキー/シークレットで登録できますか?
言い換えれば、キー/シークレットは単一のユーザーにリンクされている (べきである) か、それとも、検証されたときに任意のユーザーを承認するために使用できる RSA のようなキー ペアの一種にすぎないかということです。