IFClite TypeScript API
    Preparing search index...

    Implements

    Index

    Required when manifest.auth === 'interactive'.

    manifest: PluginManifest
    • Downloads a file's bytes. Fetches the item's pre-signed @microsoft.graph.downloadUrl and retrieves that URL — never GET .../content directly.

      Per Microsoft Graph's own docs ("Download driveItem content", learn.microsoft.com/graph/api/driveitem-get-content, section "Downloading files in JavaScript apps", checked 2026-08-15): /content returns a 302 Found redirect to the same pre-signed URL, and "you can't use the /content API [in a JavaScript app], because this responds with a 302 redirect. A 302 redirect is explicitly prohibited when a [CORS] preflight is required, such as when providing the Authorization header." The docs' own fix is exactly this: "select the @microsoft.graph.downloadUrl property... requested directly using XMLHttpRequest. Because these URLs are preauthenticated, they can be retrieved without a CORS preflight" — i.e. with no Authorization header at all, which is why this goes through ctx.fetchPublic (strips every header except Accept/Range) rather than ctx.fetch.

      Parameters

      Returns Promise<ArrayBuffer>

    • List containers within a project. parentId omitted means top level.

      The shape of the result is governed by capabilities.containerListing: direct-children returns only immediate children, flat-subtree returns the whole descendant set flattened with parentId links intact.

      Parameters

      Returns Promise<Page<SourceContainer>>

    • Watches for changes via Graph's /delta change feed (GET /me/drive/root/delta) rather than polling the given refs — per the contract, "Providers with a delta or change-feed endpoint should use cursor and ignore refs, returning a fresh cursor each call."

      refs is still consulted, but only to decide which delta items are worth turning into an event: the feed reports every change across the whole drive, and a host tracking a handful of files should not be told about unrelated ones.

      Parameters

      Returns Promise<RevisionWatchResult>