Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Configuring Pagination for APEX App with Microsoft Graph API: How to Navigate All Active Directory Users?

Ahmed JaboubAug 23 2023

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:

  1. 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.
  2. Token Retrieval: I authenticate by obtaining a bearer token through a POST to https://login.microsoftonline.com/<Directory (tenant) ID>/oauth2/v2.0/token.
  3. 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!

Comments
Post Details
Added on Aug 23 2023
1 comment
797 views