Recent Discussions
Resource display name
I want to create an event using the Graph API with a meeting room location as a resource attendee. I'm adding the meeting room as a location and inviting the meeting room as a resource attendee as described here: https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=httpMy problem is that I only have the email of the meeting room, not the display name. So a second location ends up getting added once the meeting room accepts the invite that has the correct display name (but same email). If I later try and update the time for that event, the meeting room declines the update saying that "Two or more spaces cannot be booked at the same time". If I create the event by only inviting the meeting room as an attendee and leaving the location empty, the meeting room declines saying that "Spaces cannot be booked as attendees." Is there a way to create the event so that the initial events gets accepted and I am able to successfully update the time later? Or is there a way to get the display name of the meeting room so that I can add the location with the correct display name so that the event doesn't end up with two locations?12Views0likes0CommentsSlow download speed using GRAPH api
I wanted to start a little discussion because I can't find any information about my issue with download speed of GRAPH api. So Let's start with some information that I have a python app that connect to my One drive Business. I have there two folders with pdf's one is about 70k and one is 7k. I connect to them successfully. I know that this API has some limitation with the amount it can download on one request but still I think it is not fault but my and lack of knowledge. The biggest problem is when I use some search feature in my app that requires searching a specific file(it just freeze my whole app). I make all communication inside my python code and I don't see any room to further optimization. I will just mention that this is my first time working with API and clearly don't know where to ask for any help.17Views0likes0CommentsThe requesting principal is not authorized to set group preferred data location
We have our tenant with 4 Geo locations. And inside power automate flow I am sending this Graph Api to create a new security group under specific Geo location:- but I am getting this error:- The requesting principal is not authorized to set group preferred data location. Now if i remove this parameter:- "preferredDataLocation": "AUS", the Office 365 group will get created under the default location, but I need to add it to the specific location. the service account running the graph Api call has SharePoint, group and teams admin permissions. any advice? Thanks33Views0likes0CommentsFilters and Images/thumbnails with new Copilot Search
Did anyone else use the filters on the verticals before new Copilot Search and find it very frustrating with the new experience to only have Modified, Type, and Person as the filters? It makes your non-M365 connectors almost unsusable. Also losing the ability to add our custom icons and thumbnails is a big loss to the user experience. Anyone else?12Views0likes0CommentsShare MS Teams recording with someone using Graph API
Hi, There is a requirement to share MS Teams recordings with the required Azure AD users using Graph API. We a Power Automate flow which runs after the meeting sessions end. The requirement is that all recordings related to the that session should be shared with specified users which many vary based on the session configuration. We have the meeting joining URL and also the meeting ID, long string and not the GUID. We have tried two approaches using the Graph API. 1) using the approach below we were able to get the meeting records https://graph.microsoft.com/v1.0/users/84e35ca5-0000-0000-0000-20ef90928402/onlineMeetings/MSo4NGUzNWNhNS02NjM3LTQ4NGEtYmE5MS0yMGVmOTA5MjgwertyMCoqMTk6bWVldGluZ19OR123TlRZMU0ySXRNRGMzT0MwMFl6SXdMVGhoT0RrdFpHTXlOak5pT0dOa05qVTBAdGhyZWFkLnYy/recordings but this approach is good if you want to get the recording content to copy it to another location, it does not return the OneDrive location. 2) using the following approach we can get the OneDrive path but there is no way to filter the recordings https://graph.microsoft.com/v1.0/drives/b!u_gscMc-uEeF2AgpET9lx123werdOz1Fg_KTQFlVLnYAXRY1W9IKQqzF7v234rW1/root:/Recordings:/children so it is not feasible By using the first approach, we can move the recording to SharePoint and share it from there but considering the recording size, we do not want to use this approach unless there is no other way. Let me know if there is any other way or if i am missing any thing.29Views0likes0CommentsGraph API : Authorization_RequestDenied Message: Insufficient privileges to complete the operation.
Hi Team, I have a Graph app and user configured with the following resourceAccess scopes: Code "resourceAccess": [ { "id": "06da0dbc-49e2-44d2-8312-53f166ab848a", "type": "Scope" }, { "id": "9c7a330d-35b3-4aa1-963d-cb2b9f927841", "type": "Scope" }, { "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", "type": "Scope" }, { "id": "b340eb25-3456-403f-be2f-af7a0d370277", "type": "Scope" } ] However, when trying to pull presence data, I receive the following error in Postman: Code StatusCode: Forbidden Message: Code: Authorization_RequestDenied Message: Insufficient privileges to complete the operation. Graph Explorer also fails to return presence for a specific user using: https://graph.microsoft.com/beta/users/{user-id}/presence But the endpoint for the signed-in user works fine: https://graph.microsoft.com/beta/me/presence Admin consent has been granted, and even the Global Admin cannot retrieve presence for other users. Other permissions work fine — the app can list users and connect without issue. Presence is the only operation failing. Question: How can I investigate this behavior in Azure/Entra using the request-id or client-request-id from the error response? Or what could cause this behavior? Thanks in advance!29Views0likes0CommentsCan a Teams Channel name start with space?
Dear Community, I am facing an issue fetching the children of a teams channel when the channel name is renamed and starts with empty space. Ex: Original Channel Name: "Test" Renamed Channel Name: " Test 123" This page does not mention anything on this https://learn.microsoft.com/en-us/microsoftteams/limits-specifications-teams Any help or hints are much appreciated. Thanks Pramod Vedala12Views0likes0CommentsDoes Microsoft Graph API Throttle When Triggering More Than 200 On-Demand Remediation Calls?
Hi Everyone, I'm using the following Microsoft Graph API endpoint to trigger proactive remediation scripts on Intune-managed devices: POST https://graph.microsoft.com/beta/deviceManagement/managedDevices/{managedDeviceId}/initiateOnDemandProactiveRemediation My scenario involves triggering this API for around 200+ devices, each with multiple scripts. I have a few concerns and would appreciate some guidance: Are there any throttling limits specific to this endpoint or the Intune service that I should be aware of? If I send 200+ POST requests in a short time window, will I hit rate limits or receive 429 errors? What is the recommended approach to avoid throttling — should I batch requests, add delays, or implement retry logic? Is there any official documentation or best practices for handling bulk remediation triggers? I’ve reviewed the general Microsoft Graph throttling guidance and service-specific throttling limits, but I’m unsure how they apply to this specific endpoint. Any help, examples, or insights would be greatly appreciated! Thanks, Swahela Mulla29Views0likes0CommentsThe specified object was not found in the store., The process failed to get the correct properties.
Hi, I've set up a change notification using the Microsoft Graph API so that Microsoft sends webhook notifications to our server whenever a new email arrives in a specific mailbox. Each notification includes the ID of the new email. Our server then uses this ID to retrieve the email body via an HTTP GET request to Microsoft Graph. However, we've encountered a few instances where the server receives a error when attempting to retrieve the email. The error message is: Error Message: Exception: Microsoft.Graph.Models.ODataErrors.ODataError: The specified object was not found in the store., The process failed to get the correct properties. Has anyone experienced this before or have any insights into why this might be happening? Thanks!45Views0likes0Commentsusers/{id}/authentication/methods generates many 429 errors.
Hi, In a large inventory script one of the lists it generates contains all registered MFA methods for all users ("users/$UserId/authentication/methods"). My environment has 10k users, querying the resource sequentially takes over an hour, so I made it multithreaded. I use 16 in my 20 core system, that brings it down to ~30 mins. In another function in the same inventory script uses multithreading too, it lists all group members of ~7500 groups using "groups/$GroupId/members" that only takes 2 min and 15 seconds. I played around with the number of cores, and barely get any 429's but still takes close to an hour. I tried consistencylevel "Eventual" in the header, but had no effect. Is this difference caused by an issue in the MSgraph backend? or is there something I can fix on my end to improve performance? Cheers, Sander18Views0likes0CommentsGraph API Issue to Search and GetContent from sharepoint
Hello, I’m using MS Graph to integrate an application with SharePoint. I’ve already implemented all the necessary requirements to query files, create folders, upload files, and download them. However, I’m facing an issue and have tried different ways to resolve it, unfortunately without success. When I upload a file, it completes successfully—confirmed both by the API response and by visually checking SharePoint. However, when I query the file using the Search API (`https://graph.microsoft.com/v1.0/drives/" + IdDirectory + "/search(q='{" + FileName + ".pdf}')`), the response is empty. In some cases, the expected result does appear, but only after several minutes (around 15 to 20 minutes). While debugging my application, I’ve confirmed that the search parameters are correct. Has anyone else experienced this? And if so, was there a solution?34Views0likes0CommentsSearch keyword text in SharePoint and OneDrive files content
Looking for help on why no results is returning when i try to search for keyword. Any suggestions? $appID = Get-Content "C:\grAppId.txt" $tenantID = Get-Content "C:\tenantId.txt" $certificateThumbPrint = Get-Content "C:\grCert.txt" Connect-MgGraph -ClientID $appID -TenantId $tenantID -CertificateThumbprint $certificateThumbPrint $params = @{ requests = @( @{ entityTypes = @( "driveItem", "listItem", "site" ) query = @{ queryString = "password,pass,pwd,credential" } from = 0 size = 25 fields = @( "title" "description" ) region = "US" sharePointOneDriveOptions = @{ includeContent = "privateContent,sharedContent" } } ) } Invoke-MgBetaQuerySearch -Body $params Disconnect-MgGraph28Views0likes0CommentsOneNote Teams Tab created with Graph
Since a couple of weeks, all kinds of weird behaviors occurs with OneNote Teams Tab and Graph: I'm aware of the inability to use App-Only authentication since March 31st. I had to create custom connector in Power Automate to use Delegated permissions and update all my customers flows interacting with OneNote....😠 I'm aware of the latest unsupported use of the configuration contentUrl property when creating OneNote Teams Tab. Here are my major issues I had teams OneNote Tabs created with graph API where the contentUrl was set using the OneNote Site Assets Url (Ex: https://contoso.sharepoint.com/sites/ProjectA/SiteAssets/OneNote-ProjectA). Since a couple of days, these tabs do not work anymore (Can't reach this app...). Lately there was an issue regarding opening OneNote Teams tab but Microsoft says it is fixed.. But I still have the issue. Question: Is the way I set the contenturl for these tabs is the reason why it does not work anymore or shoud it still work? I had to find a way to create and configure OneNote tabs in teams using graph (automated provisionning). I was surprise to make it work using the configuration contentUrl property as it is not supported anymore 😦.... I had to build the url with something like this: "contentUrl" : "https://m365.cloud.microsoft/launch/onenote/officeunihost/teams?auth=2&flight=officeunihost¬ebookSource=Link&oneNoteWebUrl={oneNoteWebUrl-Encoded}¬ebookIsDefault=false&subEntityId={subEntity-Encoded'}&locale={locale}&tid={tid}&upn={userPrincipalName}&groupId={groupId}&theme={theme}&entityId={entityId}&sessionId={sessionId}&ringId={ringId}&teamSiteUrl={teamSiteUrl}&channelType={channelType}&appSessionId={appSessionId}&hostClientType={hostClientType}" Question: Should I avoid this approach to create Teams OneNote tabs? Is there any other options? Thanks!32Views0likes0CommentsHandling user cancellation of authorization
My Winforms app has the code below, which pops up a browser page prompting the user to log on to his or her Office 365 account. If the user cancels the log-in by shutting down the browser page, the app crashes - the Winforms interface just disappears, and it does not display any of the error messages in the catch blocks. If I remove the exception handling, and the user cancels the authorization, the app just hangs - presumably because it is awaiting something that never happens. I need to be able to return to the app without crashing it if the user cancels the log-in. Evidently the cancellation causes some exceptiont that I am not handling. I'd appreciate any suggestions. Thanks in advance. public static async void initializeGraphAsync() { string[] scopes = { "User.Read", "Notes.Create", "Notes.ReadWrite", "Tasks.Read", "Tasks.ReadWrite", "MailboxSettings.ReadWrite" }; InteractiveBrowserCredentialOptions options = new() { TenantId = "common", ClientId = "[client id]", AuthorityHost = AzureAuthorityHosts.AzurePublicCloud, RedirectUri = new Uri("http://localhost"), }; try { _credential = new InteractiveBrowserCredential(options); _client = new GraphServiceClient(_credential, scopes); user = await _client..GetAsync((config) => //My code has "Me" between the periods here, but when I try to post this with the "Me" I get an error message "t[dot]Me is not allowed in this forum". { config.QueryParameters.Select = new[] { "displayName", "mail", "userPrincipalName" }; }); if (user == null) { throw new TaskCanceledException("User authentication was canceled or failed."); } } catch (OperationCanceledException ex) { MessageBox.Show("Authentication was canceled or failed: " + ex.Message); } catch (Exception e) { MessageBox.Show("Error initializing Graph: " + e.Message); } }23Views0likes0CommentsMicrosoft Graph API : Calendar private event not shown with user locale language
Hello, We use Microsoft Graph API to manage events in Outlook calendars. When creating an new event with sensitivity PRIVATE for a user account A, and try to view it from user B Outlook, this private event always appears with English description "Private Event" instead of a French description "Rendez-vous privé" as it used to be with EWS before we migrated to MS Graph. How can we set a public description/summary in French for a private event with MS Graph ?46Views0likes0Comments"User content migrated" Error when Creating OneDrive Webhook Subscription
Dear Microsoft Community, Our application is encountering an undocumented error when attempting to set up a Webhook Subscription to a OneDrive app-root folder (/drive/special/approot). This issue began approximately one day after deployment, following an initial period where the subscription process worked correctly, and has now persisted for several weeks. Here's the full error message: { "error": { "code": "ExtensionError", "message": "Operation: Create; Exception: [Status Code: ServiceUnavailable; Reason: User content migrated. Cannot access disabled item.]", "innerError": { "date": "2025-06-10T10:58:15", "request-id": "edff6dc0-45b7-4e7c-8797-3134ebc6bae4", "client-request-id": "edff6dc0-45b7-4e7c-8797-3134ebc6bae4" } } } Could this error be related to: - The absence of an MPN ID? - The type of Microsoft account used for app registration (personal vs. work account)? Any insights or suggestions would be greatly appreciated!67Views0likes0CommentsMicrosoft Graph API: Outlook Contact NOT Permanently Deleted with PermanentDelete.PostAsync()
I'm encountering an issue when attempting to permanently delete an Outlook contact using the Microsoft Graph API. The contact was previously inserted without any problems via the API, and I also assigned a profile picture to it, uploaded via the API. Contact? contactAdded = await _graphClient.Users["{user-id}"] .ContactFolders["{folder-id}"] .Contacts.PostAsync(contactToBeAdd, cancellationToken: cancelToken); I'm using the PermanentDelete endpoint as described in the Microsoft Graph documentation: https://learn.microsoft.com/en-us/graph/api/contact-permanentdelete?view=graph-rest-1.0&tabs=http My C# code looks like this: await graphClient.Users["{user-id}"].ContactFolders["{folder-id}"].Contacts["{contact-id}"].PermanentDelete.PostAsync(); The code executes successfully without throwing any exceptions. However, when I check the Outlook application (desktop or web), the contact still exists. It appears that almost all of the contact's information has been deleted, but the contact itself remains visible and still appears in searches. Has anyone else experienced this issue and can suggest a solution or an alternative approach to permanently delete Outlook contacts using the Graph API? Thanks in advance for any help.61Views0likes0CommentsHow to add Metadata to Groups
Hello, I am getting quite frustrated with any kind of metadata in Entra ID especially on groups. I used to put a lot of information like product , responsible , location etc. in either the name or the description of a group but since this information is most of the time confusing and irrelevant for the members of the group, I wanted to come up with something better. Now it seems that for some reason Microsoft denies any kind of metadata in Entra ID to be added to most objects especially groups. Overall it seem Microsoft does not see value in providing tags similar to the ones in Azure to any object type in Entra ID and I wonder why is that? I checked out the new "Custom Security Attributes" feature, turns out, its only available for users and applications.... Then I thought we are using directory extensions on applications and users already, it would be useful to use on groups as well. Now according to the documentation groups are also supported, great. But then there is the limitation that you can not update mail enabled and distribution groups via Graph API 😡. Well majority of groups are mail enabled.... Now I am forced to use the EXO module which limits the possibility of automating this quite much (requires PowerShell) but even with this you can not set directory extensions. Why is this so bad by design? How can I add metadata to groups now? Cheers41Views0likes0Comments
Events
Recent Blogs
- ServiceNow tickets Graph connector is now generally available, adding to the suite of Microsoft Graph connectors for ServiceNowJan 17, 202410KViews4likes1Comment
- Get complete control of your Graph connectors rollout strategy with a measured exposure of connections to select users and groupsDec 01, 20234.2KViews2likes0Comments