2014-09-11 3 views
0

Office 365 및 Sharepoint 2013 API를 사용하고 있습니다. 저는 Azure AD를 사용하여 사용자를 인증하고 Sharepoint 2013의 구성 탭에서 모든 위임 된 사용 권한이 활성화되도록 설정된 AAD 내에 테스트 응용 프로그램 설치를하고 있습니다. 기본 Android 응용 프로그램에서 이러한 호출을 만들고 성공적으로 수행 할 수있었습니다. 이 oauth 기관 url : https://login.windows.net/ /oauth2/token?api-version=1.0을 사용하여 Microsoft의 ADAL (ActiveDirectoryAuthenticationLibrary)으로 인증하십시오. 그런 다음 내 테스트 공유 지점 사이트에 액세스하여 ADAL을 사용하여받은 Oauth 토큰을 사용하여 https : //// api/Web/Lists? getByTitle ('')/Items를 사용하여 목록을 가져옵니다. 모든 것이 잘 작동하지만 동일한 토큰 프로세스로 Social API에 액세스하려고하면 401 Unauthorized가 발생합니다. 현재 사용자 정보를 얻으려는 URL은 https : ////_api/social.following/my입니다. 내가 잘못해서 api 작업 목록과 social api가 실패하게 만드는 것은 무엇입니까? 어떤 도움이라도 대단히 감사합니다!Office 365 소셜 API 액세스가 거부되었습니다.

답변

0

리소스를 호출하기 전에 리소스에 대한 새 토큰을 요청 하시겠습니까?

ADAL 라이브러리는 요청하는 각 리소스에 대해 새 액세스 토큰을 얻어야합니다. 새로운 리소스 엔드 포인트를 사용하여 acquireToken ()으로 전화하면 우리 도서관은 자동으로 새로운 액세스 토큰에 대한 새로 고침 토큰을 사용합니다. 이것은 API 문서에서 암시됩니다.

예 :를 얻을 필요가되지 않도록 https://github.com/AzureADSamples/NativeClient-Android

+0

나는 내 자원을 변경하지 오전 : 당신은이 작업을 수행 할 수있는 방법을 확인하는 데 도움이되는 여기에 예를 사용할 수 있습니다

mAuthContext = new AuthenticationContext(ToDoActivity.this, Constants.AUTHORITY_URL, false); mAuthContext.acquireToken(activity, resource, clientId, redirectUri, loginHint, prompt, extraQueryParameters, callback) //do work with the token // now get token for new_resource mAuthContext.acquireToken(activity, new_resource, clientId, redirectUri, loginHint, prompt, extraQueryParameters, callback) 

새 토큰. 동일한 리소스에 대한 소셜 API에 액세스하려고 시도하고 있으며 401을 무단으로 사용하려고합니다. 현재 사회적 API가 현재 기본 모바일 애플리케이션에서 지원되지 않는다는 정보를 발견했습니다. 이 정보에 대한 링크는 http://stackoverflow.com/questions/23272399/office365-sharepoint-social-feed-aad-authorization입니다. – user3768760