私はOffice 365からメールボックスでExchange Onlineを持っており、Managed EWSを使用するコンソールC#アプリケーションでこのメールボックスにアクセスする必要があります。要件は、コンソールアプリケーションがOAuth認証を使用してExchange Onlineにアクセスする必要があることです。Azure AD:ネイティブアプリケーションを認証する際のuser_interaction_required問題
Azure ADをセットアップしてそこにアプリケーションを作成し、clientidとredirect uriを受信しました。私はトークンを発行するために、.NETのためのActive Directoryの認証ライブラリ(NuGetから最新バージョン)を使用してい
、しかし:下のスクリーンショットを見てください - 私は、アプリケーションへの完全なアクセス許可を与えていますそれは動作させるには問題を抱えて...
私のコードは次のとおりです。
AuthenticationContext authenticationContext = new AuthenticationContext("https://login.windows.net/rsoftgroup.onmicrosoft.com", false);
AuthenticationResult authenticationResult = null;
try
{
var authenticationTask = authenticationContext.AcquireTokenAsync(
"outlook.office365.com",
"c4fa7d60-df1e-4664-a8f8-fb072d0bb287",
new Uri(redirectUri),
new PlatformParameters(PromptBehavior.Never)
);
authenticationTask.Wait();
authenticationResult = authenticationTask.Result;
exchangeService.Credentials = new OAuthCredentials(authenticationResult.AccessToken);
}
catch (AdalException)
{
// Exception occured on the authentication process.
}
私はメッセージでAdalExceptionを取得: "はuser_interaction_required:2つの条件のいずれかが発生しました:1。 PromptBehavior.Neverフラグが渡されましたが、ユーザー対話が必要なため、制約を適用できませんでした。 2.エラーが十分に短い時間枠」で完了することからHTTP認証の流れを妨げサイレントWeb認証中に発生した
は、誰かがそれを解決するためにどのように私を助けることはできますか?
を私は仕事にOAuth認証を必要とします任意の提案が高く評価ユーザーとの対話なしに、これはコマンドラインアプリケーションになりますよう...
。
EWSの代わりにOutlook REST APIを使用できる場合は、https://dev.outlook.com/restapi/tutorial/dotnetを参照して、OAuth付きの開始コードサンプルを入手してくださいOffice 365メールボックスにアクセスします。 –