Skip to content

Improve graph client documentation #2498

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: v2-preview
Choose a base branch
from

Conversation

Jesperholmbergmsft
Copy link

@Jesperholmbergmsft Jesperholmbergmsft commented Jun 6, 2025

Linked issues

Related to: #2480

Details

The Graph API client does not support the full and entire Microsoft Graph API surface. It's difficult for developers to understand which endpoints are actually supported and how to access them.

As a first step towards improving the graph client, this PR adds in-depth guides to show exactly which endpoints are currently supported.

Change details

The change here adds a new in-depth overview page for the graph client, and subpages for each area that is supported. The main audience for this change is someone who's already familiar with the Graph API surface and needs to understand what this library provides and how to access those features.

The documentation stops short at showing input parameter types and return values. We should add that too in the future, but this is a good start.

screenshots:
New readme.md start page:
image

Child page:
image

Attestation Checklist

  • [ x ] My code follows the style guidelines of this project
  • [ x ] I have checked for/fixed spelling, linting, and other errors
  • [ x ] My changes generate no new warnings

Copy link
Collaborator

@heyitsaamir heyitsaamir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. One minor nit question

```
| Description | Endpoint | Usage |
|--|--|--|
| List teamsApp | `GET /appCatalogs/teamsApps` | `await teamsAppsClient.list(params);` |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of "teamsAppsClient", should we use "graphClient"? And clarify that "graphClient" could come from a number of different places, and the main differences are the token that's supplied to it?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@heyitsaamir - teamsAppsClient here is the class that implements the /appCatalogs/teamsApps/ endpoints. We can probably improve the naming of these things, but for the moment they're at least consistent for all endpoints.

The developer gets the teamsAppsClient instance from graphClient.appCatalogs.teamsApps, but I didn't want to put that in the table here. It gets too redundant and too verbose, the table becomes unreadable. I'm hoping that the note before the table and the Getting Started section at the top of each page would be sufficient for the reader to learn how to find a graph client, and then how to find these implementations too. What do you think? Would it be helpful to repeat the Getting Started link for each client type..?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants