2016-04-28 26 views
0

With c#; native appで生成されたaccess_tokenを使用して、オフィス365のEWS管理APIをリクエストできます。 ウェブアプリケーションで生成されたaccess_tokenを使用しようとしています。 service.AutodiscoverUrl('mailid', delegate(string url){return true})に失敗し、エラー 'が見つかりました。自動検出サービスが見つかりませんでした。 '。Office 365用のEWS管理APIでウェブアプリケーションを使用するにはどうすればよいですか?

次のコードを使用して、Webアプリケーションを使用してaccess_tokenを生成しています。

string authority = "https://login.windows.net/common/oauth2/authorize"; 
string serverName = "https://outlook.office365.com"; 
AuthenticationContext authenticationContext = new AuthenticationContext(authority, false); 
ClientCredential credential = new ClientCredential("Web app client id", "Web app secret key"); 
AuthenticationResult authenticationResult = authenticationContext.AcquireToken(serverName, credential); 
authenticationResult.AccessToken; // read access_token here. 

Office 365用のEWS管理APIを使用してWebアプリケーションを使用できますか?それともネイティブアプリには制限がありますか?

答えて

0

EWSを使用すると、任意のEWS要求は大丈夫動作するはずのAzureで正しくパーミッションを設定している場合ただしのOauth Authentcationをサポートしていますが、自動検出はそう

service.AutodiscoverUrl('mailid', delegate(string url){return true}) 

をしません文句を言わない仕事。 Office365で唯一のEWSエンドポイントがあるので、あなただけの

service.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 

例えばhttp://www.jeremythake.com/2014/08/using-the-exchange-online-ews-api-with-office-365-api-via-azure-ad/

乾杯 グレン

+0

'service.AutodiscoverUrl( 'MAILID'、デリゲートを使用して自動検出を使用する必要はありません。 (string url){return true}) 'これはネイティブアプリを使用する場合に機能します。 –

+0

トレースを有効にして、何が起こっているのか、間違っているのかをすぐに伝える、送信されているヘッダーの違いを確認します。 –

+0

ありがとう、Webアプリケーションで。私はaccess_tokenを 'Application permissions'のためだけ生成していました。 EWS要求に対してaccess_tokenを使用できるようになりました。 –

関連する問題