FunctionsPublic/Find-GraphDocumentLibraryName.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function Find-GraphDocumentLibraryByName
{
    param(
        [psobject]$accessToken, 
        [string]$sharepointSiteID, 
        [string]$libraryName
    )

    $responseBody = Invoke-RestMethod `
        -Uri "https://graph.microsoft.com/v1.0/sites/$($sharepointSiteID)/drives" `
        -Headers @{"Authorization" = "Bearer $($accessToken.AccessTokenCredential.GetNetworkCredential().password)"}
        
    $jsonResponse = $responseBody | ConvertTo-JSON
    $libraries = ConvertFrom-Json -InputObject $jsonResponse
    
    foreach($library in $libraries.value)
    {
        if($library.name -eq $libraryName)
        {
            return $library
        }
    }
    return $null
}