2017-10-04 4 views
1

내가 여기있는 새로운 CRM 관리 API 시도하려고 해요 : https://admin.services.crm.dynamics.com/swagger/ui/index,하지만 때마다 내가 전화를 실행하려고는 응답 메시지는 동일합니다 :테스트 CRM 관리 API 자신감 인터페이스

" 메시지 : "이 요청에 대한 승인이 거부되었습니다."

무엇이 누락 되었습니까? 현재 크롬으로 로그인 한 사용자가 관리자 호출이 만들어진 사용자 컨텍스트가 될 것이라고 추측하고 있지만 어쩌면 틀린가요?

+0

'api_key'라는 자리 표시자가 있습니다. 거기에 api 키를 입력하고 탐색 버튼을 클릭하면됩니다. 이제'시험해보기 '버튼을 클릭하면 바로 응답. – Hackerman

+0

좋아요 @Hackerman 나는 그 간단한 필드를 놓쳤다는 것을 믿을 수 없습니다 ... 내가 API_Key를 어떻게 결정할 지에 대한 힌트를 주시겠습니까? – Daryl

+0

다음 가이드로 시작할 수 있습니다. https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/online-management-api/get-started-online-management-api – Hackerman

답변

1

swagger API를 사용하여 서비스를 테스트 할 수 없습니다. 새 관리 API를 사용하여 데이터를 보내고 검색하려면 O365에서 Dynamics Admin 또는 Global Admin 역할을 가진 사용자에 대해 유효한 OAuth2.0 토큰 (처음 두 문장 in the auth docs 참조)을 가져야합니다 (첫 번째 부분 참조). 관리자 역할 in the docs).

브라우저를 통해 로그인 할 때 OAuth 토큰이 아닌 로그인 세션을 나타내는 쿠키 만 제공됩니다. 쿠키와 토큰 기반 인증의 차이점에 대해서는 Auth0 has a very good article이지만,이 경우 관련 부분은 동일하지 않으므로 OAuth2.0 토큰을 명시 적으로 가져와야합니다.

마이크로 소프트가 swagger API에 포함시킨 것은 API 키 필드입니다. API 키는 Azure AD App 등록에서 생성 할 수 있습니다 (키를 생성하는 방법에 대한 자세한 내용은 in the AAD docs 참조). 불행하게도, 위에서 지정한대로 MSDYN365 관리 API는 인증 된 클라이언트가 Dynamics에 대해 적어도 서비스 관리자 역할을 필요로합니다. 이러한 역할은 사용자 역할이며 AAD 앱 등록에 위임 할 수 없으며 사용자 역할 만 사용할 수 있습니다.

즉, 바위와 힘든 장소 사이에서 사용할 권한이 없으므로 정의를 사용할 수있는 유일한 것은 자신의 응용 프로그램과의 통합을 단순화하는 것입니다.