MS SharePoint – Files – Get Document Library

Estimated reading: 5 minutes

MS SharePoint – Files – Get Document Library

Retrieves the properties of the specified document library. Both Site Id and Library Id are required. Microsoft documents Get Drive as supporting delegated permissions only; a site-scoped path does not make application access supported. This action provides no fallback to another endpoint.

Action details

PropertyValue
Action labelMS SharePoint – Files – Get Document Library
CategoryCloudTools
Apex class and methodGetSharePointLibrary.getLibrary
Input typeGetSharePointLibrary.GetSharePointLibraryInput
Output typeList<MSGraphDrive>
AuthorizationOAuth Delegated (Authorization Code).
Microsoft Graph requestGET /v1.0/sites/{siteId}/drives/{driveId}

Prerequisites and permissions

Configure a CloudTools Connector with Connector Type set to Microsoft 365. Complete user sign-in for delegated access. For supported application access, grant application permissions and administrator consent. The calling identity must have access to the relevant site, list, library, or item; tenant policy and resource configuration still apply.

The action permission provider declares the following permission alternatives. These are not cumulative requirements and not all are least privileged. Check the linked Microsoft reference for the endpoint, authorization type, and current restrictions.

Permission typeDeclared alternatives
DelegatedFiles.Read, Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All, User.Read

See the Microsoft operation and permissions reference.

Microsoft documents application permissions as unsupported for Get Drive. Use a delegated, authorized connector; a Flow-default application connector does not remove this restriction.

Inputs

Supply one non-null request with nonblank required identifiers. IDs must belong to the indicated site, list, or drive; do not substitute Salesforce IDs or browser URLs.

InputApex fieldTypeRequiredDescription
Site IdsiteIdStringYesSharePoint site identifier.
Library IddriveIdStringYesLibrary (drive) identifier.
SelectselectQueryStringNoComma-separated properties to return. Supply the OData value only, without a query parameter name or full URL. Microsoft validates supported values.

The global invocable input does not expose connectorId. Direct subscriber Apex and Flow calls use CloudTools connector selection. Resolve dynamic values before invocation; this action does not resolve replacement tokens.

Outputs

Returns one MSGraphDrive inside a list, or an empty list if no response is mapped. Check for an empty result before reading fields.

OutputApex fieldTypeDescription
IdidStringUnique identifier for the library (drive).
NamenameStringName of the library (drive).
Library TypedriveTypeStringType of library (drive).
Web UrlwebUrlStringWeb URL for the library (drive).
Created Date TimecreatedDateTimeStringCreated date time for the library (drive).
Last Modified Date TimelastModifiedDateTimeStringLast modified date time for the library (drive).
OData TypeodataTypeStringOData type for the library (drive).
Additional PropertiesadditionalPropertiesList<DynamicObject>Additional properties from user-defined query.

Use in Flow

Add MS SharePoint – Files – Get Document Library in Flow Builder. This action requires delegated access and is not supported for CloudTools Flow automation. This implementation processes only the first input request and is not a bulk operation.

Use in custom Apex

This subscriber-org example uses the Apptigent namespace. Replace the identifiers, configure the connector, and run in a context that permits callouts. Arrange authorization before calling and handle exceptions in the caller.

Apptigent.GetSharePointLibrary.GetSharePointLibraryInput request =
    new Apptigent.GetSharePointLibrary.GetSharePointLibraryInput();
request.siteId = 'REPLACE_WITH_SITE_ID';
request.driveId = 'REPLACE_WITH_DRIVE_ID';

List<Apptigent.MSGraphDrive> results =
    Apptigent.GetSharePointLibrary.getLibrary(
        new List<Apptigent.GetSharePointLibrary.GetSharePointLibraryInput>{ request }
    );

Apptigent.MSGraphDrive item = results.isEmpty() ? null : results[0];
System.debug(item == null ? null : item.id);

Use in a Lightning Web Component

Use getSharePointLibrary from msSharePointConnectorLib, through MSSharePointConnectorController. These c/ imports apply to an LWC in the same namespace. The function accepts one request object, including connectorId when applicable.

Connector selection limitation: This action delegates its Graph call to a shared file helper that does not receive the SharePoint request connectorId. It uses default Microsoft 365 connector selection. Supplying connectorId does not guarantee use of that record. Configure and authorize the default connector for this example.

sharePointActionExample.js

import { LightningElement } from 'lwc';
import { getSharePointLibrary, MSSharePointObjects } from 'c/msSharePointConnectorLib';

export default class SharePointActionExample extends LightningElement {
    connectorId = 'REPLACE_WITH_CONNECTOR_RECORD_ID';
    result = null;
    errorMessage = '';
    isRunning = false;
    completed = false;

    async handleRun() {
        if (this.isRunning) {
            return;
        }
        this.isRunning = true;
        this.errorMessage = '';
        try {
            const request = MSSharePointObjects.inputs.libraryItem();
            request.siteId = 'REPLACE_WITH_SITE_ID';
            request.driveId = 'REPLACE_WITH_DRIVE_ID';
            const result = await getSharePointLibrary(request);
            if (!result?.id) {
                throw new Error('The action did not return a usable result.');
            }
            this.result = result;
            this.completed = true;
        } catch (error) {
            this.errorMessage = error.requiresInteractiveAuthorization
                ? 'Sign in to Microsoft for the connector, then try again.'
                : error.message || 'The SharePoint action failed.';
        } finally {
            this.isRunning = false;
        }
    }
}

sharePointActionExample.html

<template>
    <lightning-button label="Run action" onclick={handleRun}
        disabled={isRunning}></lightning-button>
    <p role="alert">{errorMessage}</p>
</template>

The library resolves to one mapped resource object or null.

LWC rawJson serializes the mapped Apex object; it is not the untouched Microsoft response or an additional global invocable output. Use getMSSharePointAuthorizationState, beginMSSharePointAuthorization, and createMSSharePointOAuthMessageHandler to arrange delegated sign-in. The library normalizes controller errors, including requiresInteractiveAuthorization when available; it does not automatically sign in or retry.

Error handling and troubleshooting

SymptomWhat to check
Required fields errorSupply a nonempty request list, a non-null first request, and the required identifiers or body values.
Authorization or access deniedCheck connector selection, sign-in, application versus delegated permissions, administrator consent, and resource access.
Resource not foundVerify the parent site, list, and drive IDs. Distinguish list item IDs from drive item IDs and retain permission or version IDs with their resource.
Missing fields or itemsCheck query inputs, first-page behavior, supported expansions, item type, and mapped output limitations.
Unexpected connectorReview the connector selection behavior described above and the Microsoft 365 default connector.
Operation rejectedInspect the Microsoft error, JSON field values, library or page state, supported API capabilities, and tenant policies.
Share this Doc

MS SharePoint – Files – Get Document Library

Or copy link

CONTENTS

Free eBook: The Ultimate Guide to Power Platform Custom Connectors

Antimanual

Ask our AI support assistant your questions about our platform, features, and services.

You are offline
Chatbot avatar
What can I help you with?

Subscribe

×
Cancel