Learn how to use the Microsoft Graph PHP SDK to build you next integration with Office 365

>> 안녕하세요 나는 리처드 디 제레가 (Richard diZerega)입니다

주요 소프트웨어 엔지니어 Microsoft의 상용 소프트웨어 공학부 오늘은 간단한 개요를 공유 할 것입니다 PHP 용 Microsoft Graph SDK 및 강력한 애플리케이션을 구축하는 방법 Microsoft 및 Office 365에 연결됩니다 PHP SDK는 완벽한 예제입니다 오픈 소스 공동체에 대한 마이크로 소프트의 약속, 및 SDK 제공 개발자가 사용하고자하는 플랫폼 내가 데모에 뛰어 들기 전에, SDK의 주요 특징 중 일부를 설명하겠습니다

첫째, Microsoft Graph SDK for PHP는 GitHub에서 완전히 오픈 소스입니다 따라서 해당 저장소를 복제하거나 간단하게 Composer를 사용하여 PHP 프로젝트에 통합하십시오 SDK는 인증과 분리되어 있습니다 모든 인증 접근법을 사용할 수 있음을 의미합니다 Azure Active Directory를 원합니다

SDK에 유효한 액세스 권한을 제공하기 만하면됩니다 토큰은 설정된 액세스 토큰 메소드를 사용합니다 Microsoft는 PHP, 오픈 소스 커뮤니티에는 많은 사람들이 있습니다 Azure ID가있는 OAuth2 용으로 특별히 제작 된 것입니다 PHP SDK는 요청 기반이며, 강력하게 타입 클래스를 제공합니다

이렇게하면 REST 호출이 간단 해지고, 그리고 Graph에 들어갔다 나오는 모든 JSON 생성하여 사용을 시작합니다 원하는 HTTP 동작을 사용하는 요청 그래서, 이것들은 얻을 것 같은 것들이 될 것입니다 게시물, 풋, 패치를 지정하면 해당 조치를 수행하려는 엔드 포인트

반환 유형을 지정할 수도 있습니다 set return type 메소드를 사용한다 그래프 SDK는 그래프의 V1 및 베타 종점 모두 API 버전을 설정하면 함께 작업 할 Graph 개체를 만듭니다 그 외에도, PHP 용 Graph SDK는 다음을 지원합니다

그래프의 V1 및 베타 종점 모두 API 버전을 설정하기 만하면됩니다 귀하의 그래프 개체를 만들 때 SDK는 또한 지능형 페이징을 지원합니다 많은 결과를 리턴 할 수있는 엔드 포인트를 그래프로 표시하십시오

따라서 O 데이터 다음 페이지 세부 사항을 다루기보다는, SDK가 모든 것을 처리합니다 포인터를 만들면됩니다 "이봐 요, 내가 마지막에 있니? 아니면 다음 페이지로 넘어 가자 " 데모를 사용하여 SDK에 대해 자세히 살펴 보겠습니다 기본적으로 여기에 선발 프로젝트가 있습니다

이미 모든 인증 세부 정보가 설정되어 있습니다 그래서 AuthHelper PHP 클래스가 있습니다 내가 사용하는 것, 내가 말할 수있는 것, "액세스 토큰 가져 오기" 그게 내가 사용할 토큰이야 PHP 용 Microsoft Graph SDK로 작업 할 수 있습니다 그래서이 시점에서 나는 SDK를 내 프로젝트에 통합하십시오

나는 Composer를 사용하여이를 할 것입니다 그래서 저는 여기에있는 브라우저에 나갈 것입니다 나는 "작곡가"라고 말할 것입니다 내가 요구하고 싶다고 말하다 "마이크로 소프트 / 마이크로 소프트 그래프"

Microsoft Graph SDK를 가져 오기 내 프로젝트에 PHP를 위해, 그리고 나는 함께 일할 수있을 것이다 이 프로젝트에서 이제 끝났습니다 이 벤더의 폴더가 있음을 알 수 있습니다 여기에는 Microsoft Graph SDK, 나는 그것을 사용할 수있다

여기 내 페이지 들어, 내가 정말로 필요로하는 모든 것 내가 Composer를 사용하고 있기 때문에 사용하는 방법 작곡가가 나를 위해하는 "Autoload"가 필요합니다 그래서, 나는 그것을 풀어 놓을 것이다 그래서 그것은 내 프로젝트에 포함되어 있습니다 이제이 SDK를 사용하여 시작할 수 있습니다 그리고 내 페이지에서 제일 먼저하고 싶은 일 나는 몇 가지를 언급하려고한다

그래프 SDK를 통해 제공되는 클래스 그래서 저는 "사용하십시오 Microsoft "라고하고"Microsoft Graph Graph "를 수행 할 것입니다 그리고 이것이 실제 그래프 클라이언트입니다 우리는 수술을 할 것입니다 그리고 마침내 나는 또한 가고있다

to say "마이크로 소프트 그래프 모델"어떤 내가 사용할 수있는 강력하게 유형화 된 클래스를 제공한다 더 지능적으로 일하다 그래프에서 얻은 데이터로 그래서 여기에 실제로 액세스 토큰이있는 이유가 있습니다 내가 몇 가지 메시지를 볼 수 있습니다 여기 그리고 우리가 전시 할 내용 내받은 편지함에있는 메시지입니다 이제 우리는 참조하고 있습니다

그래프 클라이언트와 우리 모델 모두, 실제 그래프 클라이언트 객체를 설정해 보겠습니다 그래서 우리는 그래프를 부를 수 있습니다 이제부터는 Graph 객체를 정의하는 것입니다 그것은 새로운 그래프가 될 것입니다 우리가해야 할 일은 이것에 우리의 액세스 토큰을 주입하십시오

그래서, 우리가 할 일은 그래프라고 부릅니다 "setAccessToken"메서드를 호출 할 것입니다 이제 AuthHelper에서 얻은 토큰 실제로 훨씬 더 많이 포함하고있다 세부 정보는 액세스 토큰입니다 새로 고침 토큰 인 ID 토큰이 있습니다

그래서 우리가 할 일은 실제로 전화 또는 토큰에 액세스 토큰이 필요하다고 말합니다 이제 우리는 액세스 토큰을 설정했습니다 우리는 그래프를 성공적으로 호출 할 수 있어야합니다 자, 실제로 이것을 설정합시다 그리고 우리가 할 일은 질의입니다

메일 메시지를 우리의 계정에서 그리고 그렇게하기 위해, 그것은 잠재적으로 많은 메일 메시지가 될 수 있습니다 그래서, 우리는 앞에서 언급 한 인텔리전트 페이징 그래서 여기에 포인터를 설정합니다 그래프와 동일하게 설정할 것입니다

그리고 이것에 대해 우리가 부르는 것이 무엇인지, 기억해, 나는 요청을 만들거야 이 경우 컬렉션 요청입니다 그래서 우리는 "createCollectionRequest"라고 말할 것이고, 두 가지를 지정해야합니다 첫째, 동사 우리는 "get"을 할 것입니다 그러나 나는 쉽게 할 수 있습니다

"게시물"또는 "삭제"또는 내가 원하는 것을 수행하십시오 그리고 나서 그 액션을 수행 할 엔드 포인트 이 경우 "/ me / messages"가됩니다 그것이 우리의 종점입니다 우리는 지금 되돌아 오는 것을 변환해야합니다

해당 REST 요청을 강력한 형식의 클래스로 우리가하는 방식은 이것에 달려 있습니다 우리는 "setReturnType"을 호출 할 수 있습니다 이 경우 반환 유형은 예상은 "Model Message"입니다 그것은 클래스의 유형입니다 그래서, 우리는 계속해서 그것을 명시 할 것입니다

그리고 마침내 우리가 할 수있는 것 do는 어떤 종류의 추가 사항도 지정합니다 이 경우 페이지 크기를 설정할 수 있습니다 그래서, 우리는 "setPageSize"를 할 것이고 우리는 단지 그것을 10으로 설정할 것입니다 우리는 한 번에 10 점을 얻을 것입니다 이제는 실제로 쿼리를 수행하지 않습니다

무엇을 할 것인가? 쿼리는 실제로 포인터를 사용할 때입니다 그래서 이미 메시지 배열이 비어 있습니다 그래서, 나는 단지 그것을 설정하고 싶었다 어쩌면 처음 10 개의 메시지까지, "ptrgetPage"라고 말할 수 있습니다

기본적으로 페이지를 가져 오는 중입니다 이 경우 처음으로이 작업을 수행하는 것이 안전합니다 내가 알기 때문에 어떤 결과는 되돌아 왔지만 어떤 시점에서는 실제로이 과정을 반복한다면, 내가 본 적이 있는지 확인하려고 할 수 있습니다 이 엔드 포인트에 대한 모든 u 리를 완료했습니다 그래서, 우리는 우리가 필요한 모든 것을 가지고 있다고 생각합니다

이걸 시험해보기 위해서 PHP 디버깅 확장을 사용하고 있습니다 여기 비주얼 스튜디오 코드 따라서 브라우저에서 실제로 테스트 할 수 있습니다 우리는 디버깅을 시작합니다

그리고 브라우저 창을 열어 보겠습니다 여기 그리고 localhost에 갈 것이다 888, 빌드 및 indexPHP 그래서 당신은 볼 수 있습니다, 내가 서명하는거야

그리고 나서 그것은 나의 토큰으로 되돌아 갈 것입니다, 우리가 이걸 밟을 수있어 이 경우 찾지 못했습니다 오, 나는 혼란스러워하는 것을 잘못 지적했다 다른 코딩 플랫폼의 서로 다른 버전 그러나 우리는 여기서 그것을 정말로 빨리 고칠 것입니다

그리고 지금, 내가 돌아가서 새로 고침하면 우리 페이지, 우리는보아야한다 내가 이걸 밟으면, 우리는 메시지를 가지고있다 여기에 많은 메시지가 있음을 알 수 있습니다 나는 이것들의 세부 사항을 들여다 볼 수있다 그러나 이것들은 강하게 타이핑된다

그래서, 나는 그것들을 나의 UI에 꽤 쉽게 묶을 수 있었다 여기, 나는 이미 메시지를 반복하고있다 그래서 나는 단지 메시지를하자 아마 어쩌면 보자 "getSender"를 보낸 다음 보낸 사람에게 어쩌면 우리가보고 싶은 것은 "getEmailAddress"그리고 마지막으로, 우리는 "getName"을 할 수 있습니다

그래서, 여기에 전달 된 이름이 나에게 줄거야 그리고 나는이 모든 것을 할 수있다 내가 관심있어하는 속성 나는 여기서 더 간단한 것들을 할 것이다 그래서 우리는 "getSubject"와 같은 것을 할 수 있습니다

그래서 나는이 시점에서 멈추고 그것이 UI에 바인딩되는지를 알 수 있습니다 그래서, 우리는 나가서 이것을 다시 한번 새로 고칠 것입니다 나는 우리의 브레이크 포인트 이상으로 플레이하도록 할 것이다 그리고 당신은 볼 수 있습니다 우리의 실제 재산은 다시 돌아옵니다

그래서 여기에서 사용할 수있는 훌륭한 슈퍼 그 SDK는 거래 할 필요가 없다 REST 및 헤더의 모든 세부 정보가 포함되어 있습니다 그것은 우리 모두를 처리합니다 많은 페이징을 포함해서 함께 개발을 시작할 수 있습니다

Microsoft Graph SDK for PHP는 바로이 링크를 사용합니다 모든 Microsoft Graph SDK GitHub에서 오픈 소스로 제공됩니다 그래서 당신은 피드백을 제출할 수 있습니다 문제를보고, 심지어 끌어 오기 요청에 기여할 수 있습니다 당신은 또한 밖에있는 샘플 우리가 지원하는 다양한 플랫폼 모두

마지막으로 우리는 개발자가 활발히 활동하는 곳에서 활동적입니다 그래서 StackOverflow에서 우리를 확인하고 게시하십시오 당신의 질문, microsoftgraph 태그를 사용하여