2017-01-25 3 views
0

를 사용하여 SharePoint 사이트에서 통합 문서를 가져 오기, 나는 SharePoint 사이트에서 Excel 파일에서 데이터를 얻으려면 : graph.microsoft.com/beta/me를 SharePoint 사이트에서그래프 탐색기를 사용하여 Microsoft 그래프 베타

을 /drive/root:/Map1.xlsx:/workbook/worksheets 것은하지 않습니다 graph.microsoft.com/beta/sharepoint:/MyFabulousSite/MyDocLib/Map1.xlsx:/Workbook/worksheets 응답 :

상태 코드 : 400

{ 
    "error": { 
     "code": "BadRequest", 
     "message": "Resource not found for the segment 'Workbook'.", 
     "innerError": { 
      "request-id": "160a545b-66b8-44fc-92b7-f2b327824b84", 
      "date": "2017-01-25T16:20:02" 
     } 
    } 
} 

중 하나가 작동하지 않았다뿐만 아니라,이 시도 : graph.microsoft.com/beta/sharePoint/sites/ce33044e-6360-4630-9c5f-afad46f88333,cb1e4d7e-24be-433c-a874-12551cdd3348/ ! 드라이브/B TBQzzmBjMEacX6-tRviDM3FNHsu-JxxDqHQSVRzdM0hfFOUPQwasQb407ORQaT2q/루트 : /Map1.xlsx :/워크 북/워크 시트 응답 : I 가까이 세부 사항을 알아낼 수 없습니다 여전히 마지막 요청을 사용하지만,있어

Status Code: 500 
{ 
    "error": { 
     "code": "-1, Microsoft.SharePoint.Client.UnknownError", 
     "message": "Onbekende fout", 
     "innerError": { 
      "request-id": "cec7663e-b708-4887-8d82-87d59fb15a2b", 
      "date": "2017-01-25T16:16:58" 
     } 
    } 
} 

추측 .

업데이트 :

나는 다음과 같은 URL을 사용하여 워크 시트를 요청할 수있어, 내 Excel이 기본 라이브러리의 루트 사이트에 파일을 이동 : 를 graph.microsoft.com/beta/sharePoint/site /drive/root:/Test.xlsx:/workwork/worksheets

+0

모든 액세스 경로가 내게 적합합니다. 빠른 질문 : 루트가 아닌 사이트에서 파일 메타 데이터를 GET (즉,/workbook/... 세그먼트를 제외) 할 수 있습니까? –

+0

Excel API 액세스를 위해 모든 경로가 사용 가능하게 설정되어 있는지 확인하여 다시 표시합니다. –

+0

/workbook/...을 생략하면 올바른 응답을 얻습니다. – markbeij

답변

0

내가 아는 한 몇 가지 문제가 있습니다.

  1. GET/sharePoint/sites는 기본 사이트 만 반환합니다. 따라서 sharePoint/sites/{id}를 사용하여 해당 사이트로 이동하려면 추가 전화를해야합니다.
  2. URL에서 전체 SharePoint 기반 "경로"를 사용하면 Excel API 경로/통합 문서가 인식되지 않습니다.

따라서 해결 방법은 사이트 ID를 탐색하고 URL을 드라이브해야합니다. 문제가 해결 될 때까지 전체 사이트 Sharepoint 경로를 사용하여 Excel 파일로 이동하고 Excel API를 사용할 수 없습니다.

해결 방법 :

제 1 호용. 먼저 GET /sharePoint:/{path}:/을 사용해야합니다. {경로}는 사이트 (파일 또는 폴더 제외)의 경로이며 id 속성을 가져야합니다. 예 :

GET https://graph.microsoft.com/beta/sharepoint:/exceltest:/?$select=id 

{ 
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#baseItem", 
    "@odata.type": "#microsoft.graph.site", 
    "id": "48d4a189-be5d-497a-9a6d-b971db377a5c,3a201b6c-798f-4e6a-a805-9e67fdf1c8ce" 
} 

# 2. 이제 id이 파일은 다음 중 하나를 사용하여있는 드라이브로 이동 반환되는 사용 : 내 개발자 세입자를 사용하여이 문제를 해결하여 Excel의 API에 액세스 할 수있어

GET /sharePoint/sites/{id}/drive/root/items/{fileId}/workbook 
GET /sharePoint/sites/{id}/drive/root:/{file-path}:/workbook 

GET /sharePoint/sites/{id}/drives/{driveId}/root/items/{fileId}/workbook 
GET /sharePoint/sites/{id}/drives/{driveId}/root:/{file-path}:/workbook 

. 이 방법이 도움이되지 않으면 알려주세요.

관련 문제