Skip to main content

Read SharePoint files via Graph API

Requirements: Graph Explorer knowledge needed.

Create App Registration

An App Registration will be used to authenticate against Microsoft Graph API. For creating an App Registration there is an other detailed guide.

Permissions

With API Permission "Sites.Selected" you can specify on which SharePoint-Sites the App Registration will have permissions to read/write files and properties.

image.png

Get Site ID

To get the site id of your sharepoint sites to to the following link in a Webbrowser:

GET https://<tenantname>.sharepoint.com/sites/<sitename>/_api/site/id
Example: https://lucanoahcaprez.sharepoint.com/sites/SPS-LNC-WebFiles-PROD/_api/site/id

Example XML Response in Browser:

image.png

Get Folder ID

Folder IDs can be found using the graph explorer and the Site ID:

GET https://graph.microsoft.com/v1.0/sites/<SiteID>/drives
Example: https://graph.microsoft.com/v1.0/sites/22c1c748-f7e0-4f10-97f4-64b51694a0ca/drives

Example JSON Response from Graph API
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives",
    "value": [
        {
            "createdDateTime": "2021-04-03T23:11:15Z",
            "description": "",
            "id": "b!SMfBIuD3EE-X9GS1FpSgypE4hAdzBPVAhzjowjy6CTAFMPrY5yGSRYYXW7Jhy97f",
            "lastModifiedDateTime": "2022-05-06T07:25:15Z",
            "name": "Dokumente",
            "webUrl": "https://<tenantname>.sharepoint.com/sites/<sitename>/Freigegebene%20Dokumente",
            "driveType": "documentLibrary",
            "createdBy": {
                "user": {
                    "displayName": "Systemkonto"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "displayName": "Systemkonto"
                }
            },
            "owner": {
                "group": {
                    "email": "<sitename>@<tenantname>.onmicrosoft.com",
                    "id": "bab76dba-25aa-4804-8cad-4fde62da958b",
                    "displayName": "Besitzer von <sitename>"
                }
            },
            "quota": {
                "deleted": 0,
                "remaining": 27487376431088,
                "state": "normal",
                "total": 27487790694400,
                "used": 414263312
            }
        },
        {
            "createdDateTime": "2021-04-06T13:42:16Z",
            "description": "",
            "id": "b!SMfBIuD3EE-X9GS1FpSgypE4hAdzBPVAhzjowjy6CTA3sb9Pi_NxRJ3lfYXRyKTz",
            "lastModifiedDateTime": "2021-10-02T21:16:08Z",
            "name": "Vertragsablage",
            "webUrl": "https://<tenantname>.sharepoint.com/sites/<sitename>/<foldername>",
            "driveType": "documentLibrary",
            "createdBy": {
                "user": {
                    "displayName": "Systemkonto"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "displayName": "Systemkonto"
                }
            },
            "owner": {
                "group": {
                    "email": "<sitename>@<tenantname>.onmicrosoft.com",
                    "id": "bab76dba-25aa-4804-8cad-4fde62da958b",
                    "displayName": "Besitzer von <sitename>"
                }
            },
            "quota": {
                "deleted": 0,
                "remaining": 27487376431088,
                "state": "normal",
                "total": 27487790694400,
                "used": 414263312
            }
        },
        {
            "createdDateTime": "2022-09-15T09:41:10Z",
            "description": "sharepoint list",
            "id": "b!SMfBIuD3EE-X9GS1FpSgypE4hAdzBPVAhzjowjy6CTC6kAXUUK7qSLG7oSTLYNsQ",
            "lastModifiedDateTime": "2022-09-15T09:41:10Z",
            "name": "Teams Wiki Data",
            "webUrl": "https://<tenantname>.sharepoint.com/sites/<sitename>/Teams%20Wiki%20Data",
            "driveType": "documentLibrary",
            "createdBy": {
                "user": {
                    "email": "<creatorupn>",
                    "id": "9e5da9b4-7023-4d36-86f5-33768907270f",
                    "displayName": "<creatordisplayname>"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "<creatorupn>",
                    "id": "9e5da9b4-7023-4d36-86f5-33768907270f",
                    "displayName": "<creatordisplayname>"
                }
            },
            "owner": {
                "group": {
                    "email": "<sitename>@<tenantname>.onmicrosoft.com",
                    "id": "bab76dba-25aa-4804-8cad-4fde62da958b",
                    "displayName": "Besitzer von <sitename>"
                }
            },
            "quota": {
                "deleted": 0,
                "remaining": 27487376431088,
                "state": "normal",
                "total": 27487790694400,
                "used": 414263312
            }
        }
    ]
}

Get Folder Documents

Get folder documents and content with graph api:

GET https://graph.microsoft.com/v1.0/sites/<SiteID>/drives/<FolderID>
Example: https://graph.microsoft.com/v1.0/sites/22c1c748-f7e0-4f10-97f4-64b51694a0ca/drives/b!SMfBIuD3EE-X9GS1FpSgypE4hAdzBPVAhzjowjy6CTAFMPrY5yGSRYYXW7Jhy97f

Example JSON Response in Graph Explorer:

Example JSON Response from Graph API
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#drives/$entity",
    "createdDateTime": "2021-04-03T23:11:15Z",
    "description": "",
    "id": "b!SMfBIuD3EE-X9GS1FpSgypE4hAdzBPVAhzjowjy6CTAFMPrY5yGSRYYXW7Jhy97f",
    "lastModifiedDateTime": "2022-05-06T07:25:15Z",
    "name": "Dokumente",
    "webUrl": "https://<tenantname>.sharepoint.com/sites/<sitename>/Freigegebene%20Dokumente",
    "driveType": "documentLibrary",
    "createdBy": {
        "user": {
            "displayName": "Systemkonto"
        }
    },
    "lastModifiedBy": {
        "user": {
            "displayName": "Systemkonto"
        }
    },
    "owner": {
        "group": {
            "email": "<sitename>@<tenantname>.onmicrosoft.com",
            "id": "bab76dba-25aa-4804-8cad-4fde62da958b",
            "displayName": "Besitzer von <sitename>"
        }
    },
    "quota": {
        "deleted": 0,
        "remaining": 27487376431088,
        "state": "normal",
        "total": 27487790694400,
        "used": 414263312
    }
}