そもそもやりたいことは自動で、zoomでクラウド記録された音声をAzureにコピーして、文書化したいのです。
zoomのアクセストークンが従来のJWTが廃止されるというので話がややこしい
JWTアプリタイプは、2023年6月に非推奨になります。アカウントのJWTアプリの機能を置き換えるために、サーバー間OAuthまたはOAuthアプリを作成することをお勧めします。
まずはここが第一関門になりそうです
サーバー間OAuthアプリを作成しないといけないのでまずはここから
https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#create-a-server-to-server-oauth-app--omit-in-toc-
権限を有効にする
で、管理者じゃないとだめとか、開発モードの編集許可とかがあるのですが
そのあたりの設定は、所有者「オーナー」の権限でないと
で、サーバー間OAuthアプリの権限は、管理者は初期値では許可されていないのでそれをオンにする必要があります。
zoomの手順書では
https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#enable-permissions
[ユーザー管理] > [役割] >[役割設定] >[詳細機能]に移動し、サーバー間OAuthアプリの[表示]チェックボックスと[編集]チェックボックスをオンにします。
という感じですが
細かく言えば
[ユーザー管理] > [役割] >[管理者を選択]>[役割設定] >[詳細機能]に移動し、サーバー間OAuthアプリの[表示]チェックボックスと[編集]チェックボックスをオンにします。
サーバー間OAuthアプリを作成する
Auth2でトークンを取得する
POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id={accountId}
HTTP/1.1
Host: zoom.us
Authorization: Basic Base64Encoder(clientId:clientSecret)
で、取得する
Basic認証で取得する
Authorizationヘッダで送る
プログラムからBASIC認証がかけられたURLにアクセスする場合にはAuthorizationヘッダーにユーザ名、パスワードをセットしてリクエストする。
ユーザ名、パスワードは:(コロン)でつなぎ、BASE64でエンコードして、ヘッダ全体では次のようになるようにする。
Authorization: Basic
って、事
.net的には
WebClientは非推奨?らしいのでHttpClientを使う