학습노트-Exchange 웹 서비스 API-개요

7095 단어
관련 링크
https://docs.microsoft.com/zh-cn/exchange/client-developer/exchange-web-services/explore-the-ews-managed-api-ews-and-web-services-in-exchange
개요
Exchange는 Exchange 웹 서비스(EWS) 및 Exchange에 액세스하고 관리하는 클라이언트 응용 프로그램에 사용할 수 있는 웹 서비스 저장 프로그램을 제공합니다.Exchange Web Services(EWS)는 애플리케이션이 이메일, 회의, 연락처 등 메일박스 항목에 액세스할 수 있도록 하는 다중 플랫폼 API입니다.EWS 응용 프로그램은 로컬 또는 원격으로 SOAP 기반 XML 메일에서 보낸 요청에 따라 메일박스 항목에 액세스할 수 있습니다.즉, 애플리케이션이 HTTP를 통해 XML을 게시할 수 있는 한 EWS를 사용하여 Exchange 간에 전송되는 HTTP 메시지에 액세스할 수 있습니다.
EWS 응용 프로그램에서 흔히 볼 수 있는 작업은 전자메일, 데이트, 회의 및 폴더에 대한 정보를 얻는 것이다.이 예는 계정 수신함의 메일 수를 가져와 메일 총수와 읽지 않은 메일 수를 표시합니다.
EWS 응용 프로그램의 또 다른 일반적인 작업은 전자 우편이나 회의 요청을 보내는 것이다.
EWS 애플리케이션 및 Exchange 내부 배포 아키텍처
EWS 애플리케이션 및 Exchange Online 아키텍처
EWS 응용 프로그램이 Exchange에서 저장된 정보를 요청하면 표준 SOAP XML 요청 메시지를 작성하여 Exchange 서버에 보냅니다.Exchange 서버가 요청을 수신할 때 클라이언트가 제공한 자격 증명을 확인하고 요청한 데이터의 XML을 자동으로 분석합니다.그런 다음 서버는 요청된 강력한 유형의 객체와 해당 속성을 나타내는 XML 데이터를 포함하는 SOAP 응답을 생성합니다.XML 데이터는 HTTP 응답의 응용 프로그램으로 전송됩니다.응용 프로그램과 XML이 데이터 수정을 반서열화하고 사용하는 강력한 유형의 객체입니다.
EWS가 지원해야 하는 프로토콜 및 표준
EWS 프로토콜에서 지원해야 하는 인증 기준
EWS 애플리케이션 유형
  • 클라이언트 어플리케이션 - EWS를 사용하여 Exchange 데이터에 액세스하는 독립형 어플리케이션입니다.Outlook 및 Outlook 웹 앱은 클라이언트 응용 프로그램의 예입니다..
  • 포털 응용 프로그램 - Exchange에서 검색한 정보(예를 들어 바쁘거나 한가하거나 연락하는 정보)를 포함하여 기존 웹 페이지를 확장하는 응용 프로그램입니다.Exchange 데이터를 검색하는 SharePoint 웹 위젯은 포털 애플리케이션의 예입니다
  • 서비스 어플리케이션 - Exchange에서 기존 시스템으로 데이터를 통합하거나 동기화하는 백그라운드 작업입니다.예를 들어, CRM 응용 프로그램에 Exchange의 연락처 정보를 동기화합니다.서비스 응용 프로그램은 일반적으로 기존 응용 프로그램에 내장된 백그라운드 작업으로 이 응용 프로그램은 Exchange로 확장되어 시스템과 Exchange 저장소 간의 데이터를 연결합니다.서비스 응용 프로그램은 일반적으로 사용자 인터페이스가 없고 아날로그나 OAuth를 사용하여 인증과 접근을 한다.EWS 서비스 응용 프로그램에서 흔히 볼 수 있는 아날로그 사용자를 위한 서비스 계정을 만듭니다. 한 그룹의 사용자를 아날로그하고 이 계정을 위한 메일박스 작업을 수행할 수 있는 권한을 부여할 수 있기 때문입니다.예를 들어, EWS 서비스 애플리케이션은 CRM 솔루션과 Exchange 커뮤니케이션 그룹의 마케팅 목록 간의 데이터를 서비스 계정과 시뮬레이션을 사용하여 동기화할 수 있습니다

  • EWS 호스팅 API 클라이언트 응용 프로그램 시작
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/get-started-with-ews-managed-api-client-applications
    EWS 호스팅 API는 Exchange 웹 서비스(EWS)를 사용하는 응용 프로그램을 개발하고 확장하는 데 사용할 수 있는 간단하고 기능적인 인터페이스를 제공합니다.Visual Studio를 사용하든 다른 코드 편집기를 사용하든 EWS 호스팅 API 응용 프로그램을 개발하려면 EWS 호스팅 API 프로그램 집합을 참조해야 합니다.
    EWS API 파일 다운로드 주소:https://github.com/officedev/ews-managed-api
    EWS 서비스 URL 호출
    다양한 방법으로 응용 프로그램에서 EWS URL을 설정할 수 있습니다.대형 서버 숲에서 메일박스를 다른 서버로 옮기면 URL이 변경될 수 있으므로 자동 검색 서비스를 사용하여 URL을 가져오는 것이 좋습니다.그러나 짧은 시간 내에 여러 개의 전화를 걸어야 하기 때문에 자동 검색을 호출하는 데 시간이 걸릴 수도 있고 응용 프로그램의 속도가 떨어질 수도 있습니다. 자동 검색에서 얻은 URL 값을 캐시하고 이 방법으로 EWS 서비스 URL 캐시의 가치를 수동으로 설정하기를 원할 수도 있습니다.이것은 응용 프로그램의 성능을 개선할 것입니다.서버에서 값이 변경되지 않도록 자동 검색을 사용하여 캐시 값을 정기적으로 업데이트해야 합니다.
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-set-the-ews-service-url-by-using-the-ews-managed-api
    VS에서 생성된 첫 번째 EWS 호출 API 예제 파일(EWS API 호출 메일 발송 효과)
    using System;
    using Microsoft.Exchange.WebServices.Data;
    namespace HelloWorld
    {
    class Program
    {
    static void Main(string[] args)
    {
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    service.Credentials = new WebCredentials("[email protected]", "password");
    service.TraceEnabled = true;
    service.TraceFlags = TraceFlags.All;
    service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback);
    EmailMessage email = new EmailMessage(service);
    email.ToRecipients.Add("[email protected]");
    email.Subject = "HelloWorld";
    email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API");
    email.Send();
    }
    private static bool RedirectionUrlValidationCallback(string redirectionUrl)
    {
    // The default for the validation callback is to reject the URL.
    bool result = false;
    Uri redirectionUri = new Uri(redirectionUrl);
    // Validate the contents of the redirection URL. In this simple validation
    // callback, the redirection URL is considered valid if it is using HTTPS
    // to encrypt the authentication credentials.
    if (redirectionUri.Scheme == "https")
    {
    result = true;
    }
    return result;
    }
    }
    }

    위임 및 폴더 액세스를 위한 EWS 작업
    Exchange 웹 서비스(EWS)와 EWS 호스팅 API는 제한된 수량의 조작을 제공합니다. 이 조작을 사용하여 Exchange Online의 계정을 관리할 수 있습니다. Office 365의 일부인 Exchange Online이나 Exchange 2013부터 Exchange 버전을 관리할 수 있습니다.다음 그림에 표시된 작업을 사용하여 다른 계정의 폴더 액세스 권한을 관리하고 설정할 수 있습니다.
    응용 프로그램이 Exchange 서버의 계정을 추가로 제어해야 한다면 Exchange 명령줄 관리자 cmdlet을 사용하여 계정을 관리할 수 있습니다.다음 중 하나를 수행하여 Exchange 명령줄 관리자 cmdlet을 호출할 수 있습니다.
  • Exchange 명령줄 관리자 cmdlet을 호출하는 C# 또는 Visual Basic을 사용하여 응용 프로그램을 작성합니다.당신은 볼 수 있습니다https://docs.microsoft.com/en-us/exchange/client-developer/management/exchange-management-shell
  • Windows PowerShell과 Windows PowerShell 스크립트를 사용하여 Exchange 명령행 관리자 cmdlet을 호출합니다.당신은 볼 수 있습니다https://docs.microsoft.com/en-us/powershell/exchange/exchange-server/exchange-management-shell?view=exchange-ps

  • EWS 인증 방법
    Exchange online은 Oauth 인증, 기업 내망이라면 NTLM, Oauth와 NTLM이 모두 만족스럽지 않으면 Basic을 사용하는 것을 추천합니다.참조:https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/authentication-and-ews-in-exchange
    icrosoft Graph Mail, Calendar 및 Contact REST API
    혼합 배포 중인 Office 365, Exchange Online 및 Exchange Server는 이메일, 캘린더, 연락처를 사용할 수 있는 새로운 방법을 제공합니다.Microsoft Graph Mail, Calendar 및 Contact REST API는 Exchange 데이터에 액세스하고 조작하기 쉬운 강력한 기능을 제공합니다.이러한 API는 OAuth 버전 2.0은 인증용, OData 버전 4.0과 JSON은 데이터 추상화에 사용됩니다.다음과 같은 이점을 제공합니다.
    이러한 API는 OAuth에서 인증해야 하므로 애플리케이션에서 사용자 자격 증명을 처리하거나 저장할 필요가 없습니다.
    OAuth는 사용자 데이터에 대해 엄격한 범위의 권한을 요청할 수 있습니다.예를 들어, 응용 프로그램을 요청 권한으로 설계하고 사용자의 달력만 읽을 수 있습니다.
    DEMO 문서
    EWS 호스팅 API를 사용하여 EWS와 통신
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-communicate-with-ews-by-using-the-ews-managed-api
    EWS 호스팅 API 애플리케이션 장애 해결을 위한 요청 및 응답 추적
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-trace-requests-responses-to-troubleshoot-ews-managed-api-applications
    EWS 클라이언트 응용 프로그램 시작
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/get-started-with-ews-client-applications
    Exchange의 EWS에 대한 액세스 제어
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-control-access-to-ews-in-exchange
    EWS 호스팅 API에 대한 서버 인증서 확인
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-validate-a-server-certificate-for-the-ews-managed-api
    OAuth를 사용하여 EWS 애플리케이션 확인
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth
    EWS Exchange 자동 검색
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/autodiscover-for-exchange
    Outlook의 Outlook 로드 항목 및 EWS
    https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/mail-apps-for-outlook-and-ews-in-exchange
    자세한 내용은 아래의 위챗 공식 번호를 참조하십시오.
    다음으로 전송:https://blog.51cto.com/543925535/2351489

    좋은 웹페이지 즐겨찾기