Greetings everyone,
I'm currently developing an APEX app, aimed at empowering admins with a straightforward method to pinpoint users within our Active Directory. I've chalked out my plan, but I'm navigating some challenges:
Goal:
- Integration with Microsoft Graph: I'm in the process of establishing a REST Data Source in APEX under Shared Components, with Microsoft's Graph API as the driving force.
- Token Retrieval: I authenticate by obtaining a bearer token through a POST to
https://login.microsoftonline.com/<Directory (tenant) ID>/oauth2/v2.0/token.
- User Acquisition: With the token at hand, I dispatch a GET request to
https://graph.microsoft.com/v1.0/users to access user specifics.
Challenges:
- Pagination: By design, the Microsoft Graph API offers up to 100 items per request, extendable to 999 with the
$top parameter. However, I'm aiming for a seamless scroll-through experience for my users across all entries in the Active Directory.
- User Search: I envision a sleek search interface on the frontend, where users can effortlessly key in a username to pull up relevant details.
Pagination Pathway:
- $skipToken: Here's where I need your expertise. I've identified the
$skipToken parameter, which seems like a marker, signaling the API to continue from the last known point. How can I weave this into my setup for smooth pagination?
- @odata.nextLink: My exploration led me to this: a URL provided by Microsoft Graph API within its response, serving as a bridge to the subsequent data page. How do I synchronize this link with
$skipToken to optimize the pagination mechanism in APEX?
Further Inquiries:
- Plug-in Requirement?: Given the above, do you think there's a need to craft a specific plug-in to achieve this functionality in APEX?
- Guidance with PL/SQL: I must confess, I'm on thin ice when it comes to PL/SQL. If the solution calls for its use, could you kindly walk me through it?
I've attached my ongoing configurations for a clearer picture. Your insights, guidance, and recommendations would be highly appreciated.

Heartfelt thanks in advance and eagerly waiting for your insights!