2016-09-11 2 views
3

SharePoint Online 페이지에서 GRAPH API를 호출해야합니다. 누군가 JavaScript 예제를 공유 할 수 있습니까? GRAPH 사이트에서 사용할 수있는 예제는 SharePoint Online 외부에서 GRAPH API를 호출하는 데 사용됩니다.SharePoint Online 페이지에서 Microsoft GRAPH API를 호출하는 방법

각 요청마다 토큰이 필요하다는 것을 알고 있으며, 토큰을 받으려면 로그인해야합니다. 그러나 SharePoint Online 내에서 GRAPH API를 호출하면 이미 인증 된 것이므로 다시 로그인하는 것이 의미가 없습니다. 토큰은 어딘가에서 사용할 수 있어야하며 가져 오는 방법을 모르겠습니다 (SharePoint 온라인 URL에서는 사용할 수 없습니다).

답변

2

Microsoft Graph는 OAuth를 사용하여 호출하기위한 액세스 토큰을 검색 할 수있는 Azure AD로 보호됩니다.

내가 아는 한, SharePoint의 토큰 발급자는 Microsoft Graph와 다릅니다.

셰어 : 낮은 신뢰 인증 시스템에서

는, 발행자는 푸른 ACS이며 GUID는 00000001-0000-0000-c000-000000000000입니다입니다. 그 형식은 GUID @ SharePoint 영역 GUID입니다.

마이크로 소프트 그래프 :

발행자는 사용자의 테넌트에서 보안 토큰 서비스입니다. 형식은 https://sts.windows.net/049bef5f-8841-4000-984b-c3f36bdb2d8c/입니다.

내 이해에 따라 SharePoint 온라인 페이지에서 직접 Microsoft Graph를 요청할 수 없습니다. 이 문제를 해결하려면 클라이언트 자격 증명 흐름을 사용하여 웹 서비스를 구축 할 수 있습니다.이 흐름에서는 사용자가 Microsoft Graph의 서비스 에이전트로 인증에 참여하지 않아도됩니다.

또는 Microsoft Graph에서이 기능을 지원하려면 here에서 피드백을 제출할 수 있습니다.

0

정확합니다. SharePoint에 이미 로그인 한 경우 다시 보안을 전달할 필요가 없습니다. Office Graph 데이터에 액세스하기 위해 Search API를 호출하고 쿼리에 일부 속성을 추가 할 수 있습니다. 여기

https://msdn.microsoft.com/en-us/office/office365/howto/query-office-graph-using-gql-with-search-rest-api

오늘 내가 사용하지 않는거야 예입니다 (공백 - 백 슬래시 그렇게 문자를 탈출, 전달해야 할 중요) :

/_api/search/query?QueryText='*' 
&Properties='GraphQuery:ACTOR(ME\,action\:1021)' 
&RowLimit=5 
&SelectProperties='URL,Title,ModifiedOWSDate,ModifiedBy,ContentType' 
&sortlist='created:1' 

이 개인 피드의 항목을 반환 (Delve와 동일).

희망 하시겠습니까?

업데이트 :

이 업데이트는 더 이상 사용되지 않습니다. https://msdn.microsoft.com/en-us/office/office365/howto/query-office-graph-using-gql-with-search-rest-api

+1

SharePoint 검색 API는 새로운 통합 Microsoft Graph API (Microsoft의 끔찍한 명명)가 아닌 Office Graph (노드와 개체와 개체 간의 연결 표시)에만 액세스 할 수 있습니다. –

+0

이것은 API의 현재 O365가 더 이상 사용되지 않는 오류 코드를 반환합니다 – nmishr

+0

@nmishr 링크를 추가했습니다 –

1

공급자가 호스팅하는 SharePoint 응용 프로그램/추가 기능을 등록하면이 응용 프로그램은 ACS를 토큰 서버로 사용합니다. Microsoft Graph는 최신 AAD STS 서버를 사용합니다. SharePoint 페이지에서 Microsoft Graph를 호출하려면 Microsoft Graph를 호출 할 수있는 응용 프로그램을 등록해야합니다. Microsoft Graph는 CORS를 지원하며 SharePoint 페이지에서 XHR을 수행 할 수 있습니다. 런타임에 사용자는 SSO로 인해 다시 로그인하지 않아도됩니다. 그러나 코드에서는 ACS에서 CSOM API를 호출하고 최신 STS에서 Microsoft Graph 용 토큰을 가져 오는 두 가지 액세스 토큰을 처리해야합니다.

+1

제안하는 방법에 대한 좋은 참조가 있습니까? 내가 찾은 최고의 Graph 특정 문서는 사용자가 Office 365에 로그인하도록 요청하는 페이지로 리디렉션됩니다. 최고의 SP 특정 문서는 https://msdn.microsoft.com/에서 자주 사용자 로그인을 경고합니다. en-us/office/office365/howto/create-web-apps-using-cors-to-access-files-in-office-365는이 방법으로 자주 로그인하는 것에 대해 경고합니다. https://dev.office.com/ sharepoint/docs/spfx/web-parts/guidance/call-microsoft-graph-your-web-part GraphHttpClient는 일반적으로 사용 가능할 때 더 나은 솔루션이 될 것 같습니다. –

1

미리보기에 있으며 새로운 기능인 GraphHttpClient가 있으며 SharePoint Framework 웹 파트의 Microsoft Graph에 대한 제한된 액세스가 가능합니다.

Mikael Svenson은 웹 파트의 샘플 코드를 포함하여 a great explanation of the new class입니다.

관련 문제