私はデータカタログに接続し、テーブルに関する情報を取得するはずのバックグラウンドアプリケーションを持っています。バックグラウンド・アプリケーション以来、データ・カタログ要求を認証するためのユーザーの介入はできません。ですから、代わりにClientIDとClientSecretを使って認証しようとしています。アプリケーショントークンベースのリクエストが401の権限ではない戻り値
string authorityUri = "https://login.microsoftonline.com/{adtenanthere}";
string resourceUri = "https://datacatalog.azure.com";
string clientId = "{clientidhere}";
string clientSecret = "{clientsecrethere}";
AuthenticationContext authContext1 = new AuthenticationContext(authorityUri, false);
ClientCredential credential = new ClientCredential(clientId, clientSecret);
AuthenticationResult authResult = authContext1.AcquireTokenAsync(resourceUri, credential).Result;
string token = authResult.CreateAuthorizationHeader();
この方法を使用してトークンが成功しているされて、私はデータカタログAPI要求に対して、このトークンを使用する場合ただし、要求は「401を返し、取得 - 権限:アクセスが資格情報が無効のため拒否されている必要はありません指定した資格情報を使用してこのディレクトリまたはページを表示するためのアクセス許可を与えます。
私がここで紛失する可能性があることをお勧めします!一部のデータが不正確である
Monicaに与えられた権限urlとresource urlも正しい値であることを確認してください – umasankar