仕事の関連で、gmail API関連を触る必要がありそうなので、少し調べた。
APIを使うにはGoogle Cloud Platform(GCP)内でプロジェクとを作る必要があるみたい。
以下、Gmail APIの公式、言語ごとにチュートリアルもどきがあるので
セットアップにはそんなに困らなかった。
C#側ではGoogle.Apis.Gmail.v1をNugetを介してインストールしてあげる さすがgoogle、ライブラリが手厚いぜ!
認証がOAuth認証なら以下で良いとのこと(認証情報として、"credentials.json"をダウンロードする必要あり)
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; } var service = new GmailService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, });
あとは認証情報を保存した"service"とともにAPIへ情報を送る。 (ドキュメントだとTag一覧を取得するコードが書いてあった気がする)
細かい、仕様はもうちっと調査する必要があるかなーと思いつつ、
とりあえず、ここまで。
おそらく、Azure Functionと絡めて、 メールを受信したらAzure FunctionへHTTPリクエストを送るみたいな実装をする気がする。