2017-12-05 1 views
1

제목에서 알 수 있듯이 AAD 응용 프로그램에 사용자를 지정하는 동안 오류가 발생합니다. 여기에 요청하고 오류 내가 갖는이다사용자를 앱에 할당하는 중 오류가 발생했습니다.

enter image description here

enter image description here

분명히 enter image description here

그것이 API의 버전으로 관련이 있지만, 나는 그것이 심지어 동작하지 않습니다 api-version 매개 변수가 변경되었습니다. 내가 https://graph.microsoft.com/v1.0/에 요청 URL을 수정할 때 ..., 나는 다음과 같은 오류 얻을 :

업데이트Unsupported segment type. ODataQuery: users/{userid}/appRoleAssignments

업데이트 2을 : 심지어 베타 버전이 작동되지 않는 것 같습니다 :

업데이트 3 : 이 기능은 아직 베타 버전의 MS Graph에서 사용할 수 있습니까? 그렇지 않으면 여기 ISN을 사용하고, 프로그램 이 https://graph.microsoft.com/beta/users/ {userId를}/appRoleAssignments/{appRoleId}

아직도 오류

+0

정확하게 당신이 달성하려고하는거야?사용중인 URL은 Microsoft Graph API 호출이 아닙니다. –

+0

프로그래밍 방식으로 사용자를 AAD 앱에 할당하려고합니다. – Kira

+0

@MarcLaFleur Microsoft Graph API 호출은 어떻게되지 않습니까? – Kira

답변

1

Marc의 답변은 정확합니다 - 몇 가지주의 사항이 있음 : 1. 이것은/beta에서만 제공되며 프로덕션에는 권장되지 않습니다. 2.이 작업을 방해하는 버그가 있습니다.

프로덕션 환경에서이를 수행하려면 현재 Azure AD Graph API를 사용해야합니다. 우리의 문서에서 Microsoft Graph를 어디서나 사용하는 것이 좋겠지 만 Azure AD Graph와는 약간의 차이가있는 곳이 몇 군데 있습니다. 푸른 AD 그래프 대 마이크로 소프트 그래프에서 지원 있는지에

더 많은 정보는 마크 위가 같이 API 호출이 동일한이 주제 https://dev.office.com/blogs/microsoft-graph-or-azure-ad-graph

보고 있지만, 다른 루트 URL 및 버전 구성표. 그래서 다음과 같은 :

POST https://graph.windows.net/{tenantId}/users/{userId}/appRoleAssignments?api-version=1.6 { "id": "31952ade-a03c-414c-8340-2f11e9099106", "principalId": "84b80893-8749-40a3-97b7-68513b600544", "principalType": "User", "resourceId": "29c7ed43-a9a1-4b31-8a64-fc90c3ca4e73" }

보기 중이 older blog 또는이 도움이 AAD Graph reference docs

희망,

2

의 URL을 Unsupported segment type을 받고 내가 원하는 것을 달성하기 위해 (PowerShell 및 그래프 API 이외의) 어떤 대안이 유효한 Microsoft Graph 호출이 아닙니다.

마찬가지로 REST API에서 URL의 각 세그먼트는 실제로 최종 URI 세그먼트 인 경우 API 네임 스페이스 또는 메소드입니다. 의는 user 검색하기위한 URI를 분해하자, 설명하기 : 그것으로이 속보

GET https://graph.microsoft.com/v1.0/users/{userid} 

우리가 얻을 구성 요소입니다 :

  • GET 우리가 복용하고있는 조치를 정의하는 "HTTP 동사"입니다 .

    • POST = 엔티티를 만들거나
    • GET =이
    • PATCH = 엔티티 또는 기록을 갱신 엔티티 또는 기록을 자세히 기록
    • DELETE = 삭제 엔티티 또는 기록 : 이것은 표준 CRUD 모델에 따라
  • https://graph.microsoft.com은 Microsoft Graph 자체의 주소입니다.

  • /v1.0은 호출하려는 API의 버전입니다 (현재 /v1.0 또는 /beta).

  • /users 당신이 당신이 /{userid} 이후

/users 모음 내에서 찾고있는 어떤 특정 사용자 인

  • /{userid}이 그래프를 알려주는 user 수집을 액세스하기 위해 찾고 그래프를 알려줍니다 URL로 지정된 마지막 세그먼트는 Azure Active Directory에서 해당 개별 User 레코드의 JSON 표현을 반환합니다.

    Traverse Microsoft GraphMicrosoft Graph Documentation에 Microsoft Graph가 구성되어있는 방법에 대한 자세한 설명을 찾을 수 있습니다. 귀하의 질문에

    당신은 두 개의 서로 다른 통화를 설명 :

    POST https://graph.microsoft.com/{GUID} 
    POST https://graph.microsoft.com/v1.0/{GUID} 
    

    오류를 얻고있는 이유는 당신이 그것을 전송하고있는 {GUID}에 대한 네임 스페이스 또는 방법이 없다는 것입니다. 말 그대로 당신이 무엇을 요구하는지 전혀 모른다. Microsoft Graph는 많은 서비스 (SharePoint, Azure AD, Exchange, Planner, Teams, Groups 등)를 처리하기 때문에 어떤 서비스를 목표로하고 있는지 추측하기조차 힘듭니다.

    작성한 추가 의견에 따르면 appRoleAssignment으로 작업하려는 것처럼 보입니다. 이 엔드 포인트는 여전히 미리보기에 있으므로 /beta 버전에서만 사용할 수 있습니다. 또한 GET, UPDATEDELETE 메서드 만 지원합니다 (UPDATEappRoleAssignment에 사용자를 추가하고 DELETEappRoleAssignment에서 사용자를 제거합니다).

    당신이있는 거 통화 그러므로 다음과 비슷한 모습이 될 것입니다

    https://graph.microsoft.com/beta/users/{userId}/appRoleAssignments/{appRoleId} 
    

    당신은 Update approleassignment에서이 호출에 대한 전체 설명서를 찾을 수 있습니다.

  • +0

    은 https : // 형식으로도 오류가 계속 발생합니다. graph.microsoft.com/beta/users/{userId}/appRoleAssignments/{appRoleId} : 지원되지 않는 세그먼트 유형입니다. ODataQuery : users/{userid}/appRoleAssignments/{appRoleId} – Kira

    +0

    그건 그렇고 베타 버전이기 때문에 C#에서 원하는 것을 성취 할 수있는 대안이 있습니까? 답장을 보내 주셔서 감사합니다 – Kira

    +0

    '사용자 '와'{사용자 ID}'사이에'/'가 누락되었습니다 : .../beta/users/{userId}/...' –

    관련 문제