C#・dot net core 3.1です。
スタックオーバーフローにマルチポストしています。
GmailAPIを使ってメールクライアントのように、
- アカウント追加ボタンを押す
- Googleログイン画面が開く
- 権限を許可
- 以後は許可を促すプロンプトを出さずに使用できる
の流れを作りたいのですが、方法がわかりません。
GoogleのAPI管理サイト(GoogleCloudPlatform)でOauth2認証情報を作成し、Jsonをダウンロードしました。
そのJsonをつかって以下のようにOauth2認証でTokenを取得できました。Tokenを保存した以後は許可を促すプロンプトは表示されずに使えました。
C#
1 static string[] Scopes = { GmailService.Scope.GmailReadonly}; 2 static string OAuthCredentialFilePath = "Credentials/credentials.json"; 3 4 private static async Task OAuth2Auth() 5 { 6 UserCredential credential; 7 8 using (var stream = 9 new FileStream(OAuthCredentialFilePath, FileMode.Open, FileAccess.Read)) 10 { 11 string credPath = "token.json"; 12 credential = await GoogleWebAuthorizationBroker.AuthorizeAsync( 13 GoogleClientSecrets.Load(stream).Secrets, 14 Scopes, 15 "user", 16 CancellationToken.None, 17 new FileDataStore(credPath, true)); 18 } 19 20 var service = new GmailService(new BaseClientService.Initializer() 21 { 22 HttpClientInitializer = credential 23 }); 24 }
おそらくメールクライアントのようにGmailアカウントを新たに追加するというのは、ユーザーにGoogleアカウントでログインさせて新たにTokenを取得して保存するということだと思います。
しかし、この場合だと新たに認証することができません。
メールクライアントのようにアカウントを追加していくフローを実現するにはどうしたら良いでしょうか。
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。