Developer
7966 TopicssharedWithMe returns only one item
A request from a standalone application to the https://learn.microsoft.com/en-us/graph/api/drive-sharedwithme endpoint returns only one item. Scopes used for authorization are: files.readwrite.all, group.readwrite.all, sites.readwrite.all, offline_access user.read When calling the same endpoint https://developer.microsoft.com/en-us/graph/graph-explorer, all shared items are returned. Result from application: { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.driveItem)", "value": [ { "createdDateTime": "2025-11-13T18:48:46Z", "id": "700DF30854FEF749!sd0cb731281c141acb1bf78fed133f933", "lastModifiedDateTime": "2025-11-13T18:48:46Z", "name": "saĝa-simio", "webUrl": "https://onedrive.live.com?cid=700df30854fef749&id=700DF30854FEF749!sd0cb731281c141acb1bf78fed133f933", "size": 0, "createdBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "lastModifiedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "fileSystemInfo": { } Note that only one item is returned. Result from Graph Explorer: { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.driveItem)", "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me/drive/microsoft.graph.sharedWithMe?$select=audio,bundle", "value": [ { "createdDateTime": "2025-11-13T18:48:46Z", "id": "700DF30854FEF749!sd0cb731281c141acb1bf78fed133f933", "lastModifiedDateTime": "2025-11-13T18:48:46Z", "name": "saĝa-simio", "webUrl": "https://onedrive.live.com?cid=700df30854fef749&id=700DF30854FEF749!sd0cb731281c141acb1bf78fed133f933", "size": 0, "createdBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "lastModifiedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "fileSystemInfo": { "createdDateTime": "2025-11-13T18:48:46Z", "lastModifiedDateTime": "2025-11-13T18:48:46Z" }, "folder": { "childCount": 1, "view": {} }, "remoteItem": { "createdDateTime": "2025-11-13T18:48:46Z", "id": "700DF30854FEF749!sd0cb731281c141acb1bf78fed133f933", "lastModifiedDateTime": "2025-11-13T18:48:46Z", "name": "saĝa-simio", "size": 0, "createdBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "fileSystemInfo": { "createdDateTime": "2025-11-13T18:48:46Z", "lastModifiedDateTime": "2025-11-13T18:48:46Z" }, "folder": { "childCount": 1, "view": {} }, "lastModifiedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } }, "parentReference": { "driveType": "personal", "driveId": "700df30854fef749" }, "shared": { "scope": "users", "sharedDateTime": "2025-11-13T19:16:19Z", "owner": { "user": { "id": "700df30854fef749", "displayName": "Saĝa Simio" } }, "sharedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Saĝa Simio" } } }, "sharepointIds": { "listId": "a5aff78d-98ee-4b34-b35b-f4fe365ebd74", "listItemId": "184", "listItemUniqueId": "d0cb7312-81c1-41ac-b1bf-78fed133f933", "siteId": "87dbe7ee-ae0c-4854-82e7-d56d982fef54", "siteUrl": "https://my.microsoftpersonalcontent.com/personal/700df30854fef749", "webId": "9d8b91c3-b0b9-45d1-83e4-17babde0d1dc" } } }, { "createdDateTime": "2025-11-13T18:24:59Z", "id": "D26CADA368C1131F!116", "lastModifiedDateTime": "2025-11-13T18:24:59Z", "name": "Beastie", "webUrl": "https://onedrive.live.com?cid=d26cada368c1131f&id=D26CADA368C1131F!116", "size": 0, "createdBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Faerie Graceful" } }, "lastModifiedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Faerie Graceful" } }, "fileSystemInfo": { "createdDateTime": "2025-11-13T18:24:59Z", "lastModifiedDateTime": "2025-11-13T18:24:59Z" }, "folder": { "childCount": 1, "view": {} }, "remoteItem": { "createdDateTime": "2025-11-13T18:24:59Z", "id": "D26CADA368C1131F!116", "lastModifiedDateTime": "2025-11-13T18:24:59Z", "name": "Beastie", "size": 0, "createdBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Faerie Graceful" } }, "fileSystemInfo": { "createdDateTime": "2025-11-13T18:24:59Z", "lastModifiedDateTime": "2025-11-13T18:24:59Z" }, "folder": { "childCount": 1, "view": {} }, "lastModifiedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Faerie Graceful" } }, "parentReference": { "driveType": "personal", "driveId": "d26cada368c1131f" }, "shared": { "scope": "users", "sharedDateTime": "2025-11-13T18:41:30Z", "owner": { "user": { "id": "d26cada368c1131f", "displayName": "Faerie Graceful" } }, "sharedBy": { "user": { "email": "email address removed for privacy reasons", "id": "email address removed for privacy reasons", "displayName": "Faerie Graceful" } } }, "sharepointIds": { "listId": "5d31fd1e-38af-4117-b637-c1a0f7d5ca95", "listItemId": "4", "listItemUniqueId": "68c1131f-ada3-206c-80d2-740000000000", "siteId": "74111012-f9e7-4940-ad60-5e53a21e2d3c", "siteUrl": "https://my.microsoftpersonalcontent.com/personal/d26cada368c1131f", "webId": "f1ea2ab8-b5ee-4c93-8ce2-6c12700c226a" } } } ] } Any tips or suggestions are welcome.14Views0likes0CommentsSize increase of .sppkg packages with heft/v1.22
After upgrading our solution to SPFx 1.22.rc-0 and switching to the new heft build toolchain our .sppkg packages have suddenly grown massively in size. They are more than double the size of the 1.21 version. Is there a reason for this? Is there anything we can do to reduce the package size back to what it was previously? Our main solution contains both web parts and list extensions, split into several bundles. Let me know what other details would be helpful.7Views0likes0CommentsBot configuration config/fetch returns same channel ID when switching channels within same team
Summary When invoking a bot’s configuration flow (configuration.fetchTask) via an @mention-based settings entry point across different channels within the same Team, the request body consistently contains the same channelId, even after switching channels. https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/bot-configuration-experience?tabs=teams-bot-sdk1%2Cteams-bot-sdk2%2Cteams-bot-sdk3 This makes it impossible to reliably determine which channel initiated the configuration. Environment Microsoft Teams (desktop client) Bot installed at team scope Same Team, multiple channels Bot supports team scopes. Configuration enabled via manifest: "configuration": { "team": { "fetchTask": true } } Steps to Reproduce Install the bot into a Team with multiple channels Navigate to Channel A Invoke the bot configuration using an @Bot settings / configuration entry point Observe the incoming config/fetch request payload Note the channelId in the request body Switch to Channel B (same Team) Invoke the same configuration entry point again Observe the incoming config/fetch request payload Expected Behavior The config/fetch request body should include a channel identifier corresponding to the channel where the configuration was initiated, e.g.: channelData.channel.id or another channel-scoped identifier that uniquely identifies the initiating channel Actual Behavior The config/fetch request body always contains the same channel ID The channel ID does not change when switching channels The value appears to be: either the Team’s General channel or a cached / team-level channel context As a result, the bot cannot determine which channel the user intended to configure. Impact This behavior prevents implementing per-channel configuration using the bot configuration experience because: Configuration requests cannot be reliably scoped to the initiating channel All configuration actions appear to target the same channel Users configuring different channels in the same Team unintentionally overwrite the same settings Additional Notes This occurs within the same Team Reproduced consistently across multiple channels Observed even when the configuration is invoked after explicitly switching channels Behavior suggests the configuration context may be team-scoped rather than channel-scoped, but this is not clearly documented51Views0likes2CommentsData Quality Error (Internal Service Error)
I am facing an issue while running the DQ scan, when i tried doing manual scan and scheduled scans both time i faced Internal Service Error. ( DataQualityInternalError Internal service error occurred .Please retry or contact Microsoft support ) Data Profiling is running successfully but for none of the asset, DQ is working. After the lineage patch which MS had fixed, they had introduced Custom SQL option to create a rule, and after that only i am facing this issue. Is anyone else also facing the same? I tried with different data sources (ADLS, and Synapse) its same for both. If anyone has an idea, do share it here, it will be helpful.8Views0likes0CommentsSet work location via API (Graph?)
Hey community! The new work hours and location feature is rolling out for Outlook and Teams: https://blog.admindroid.com/work-hours-and-location-in-outlook-for-efficient-collaboration/ Does anyone know who to read and write this information (especially the location) via API / Microsoft Graph? This is a nice feature and we would like to set this programmatically. Thank you very much! Best regards, Jens14KViews1like19CommentsName Manager using for create name which is contain atleast two name.
Hello. I creating somthing in excel with tables. These tables has thier own name, and can be dynamic or not. Any way. I using list in cell to select each data from a tables column. For that I created names with the content of a column. Unfortunatly i had to make a kind of name which is contain atleast 2 columns. These can grow dynamicly. So I think a plus helper tabel is not the right sollution for that. I think about 3 kind of solution. 1. =UNIQUE( VSTACK( INDEX(Tabla1[#Data];0;MATCH("Type_name";Tabla1[#Headers];0)); INDEX(Tabla2[#Data];0;MATCH("Column_name";Tabla2[#Headers];0)) ) output #name? 2. =UNIQUE(VSTACK(Lista_A; Lista_B)) lista_A as a name output #name? 3. created a helper table with the existing names. Created another name and use the table in it. output was the elements contained by the helper tabel, and the lista_A and lista_B tables each dedicated column. So How can i create list for a cell or cells from two column which are dynamicly growing, without a user needs to touch the core modell? Best Balázs73Views1like2CommentsKey AI announcements for software developers from Microsoft Ignite 2025
At Microsoft Ignite 2025, Microsoft unveiled a series of AI innovations that signal a significant evolution in how software developers build, deploy, and scale intelligent solutions. Central to these announcements is Microsoft Foundry, a unified platform designed to simplify the development, orchestration, and governance of AI agents across Microsoft’s cloud and application ecosystem. The announcements also introduced Foundry IQ, enabling secure, compliant access to enterprise data for AI agents, along with a new Foundry Control Plane that provides centralized visibility and operational control. Together, these capabilities help reduce complexity while supporting enterprise-grade security, compliance, and scalability requirements. Additional highlights include expanded model choice and flexibility through enhanced Model Router support and deeper integration of third-party models, as well as new capabilities that allow developers to publish and distribute AI agents directly into Microsoft 365 and Teams, creating powerful new go-to-market opportunities. Read the full article to learn more about these Microsoft Ignite announcements, what they mean for software developers, and how to take advantage of Microsoft’s rapidly evolving AI and Marketplace ecosystem.Is Creating Multiple ClientContext Instances Efficient in CSOM for one Site Url?
Is it efficient to create a new ClientContext for each site URL and for each query, such as getting site users, lists, groups, and group members from the Web object? These queries can return a very large number of items, and CSOM does not support paging when retrieving data from Web properties. Because of this, there is a risk of memory issues. In this case, is creating multiple ClientContext objects a good approach? Also, how does ClientContext work internally, and how does it handle memory and performance?5Views0likes0CommentsSharePoint Online SP.FieldUserValue.get_email() always returns NULL.
Since last week, SP.FieldUserValue.get_email() has been returning null for all users in Person or Group fields. This occures when I use getItems method. For example: var listName = "MyList"; var context = SP.ClientContext.get_current(); var web = context.get_web(); var list = web.get_lists().getByTitle(listName); var query= new SP.CamlQuery(); var items = list.getItems(query); context.load(items); context.executeQueryAsync(()=>{ var enumerator = items.getEnumerator(); while (enumerator.moveNext()) { var item = enumerator.get_current(); var fldValues = item.get_fieldValues(); console.log(fldValues["Editor"].get_email()) } }); I haven’t been able to find any information about changes related to this behavior. We’ve been using the Email property of user fields for years without any issues, and it has always worked as expected. It's documented here: https://learn.microsoft.com/ru-ru/dotnet/api/microsoft.sharepoint.client.fielduservalue.email?view=sharepoint-csom Does anyone know what might have changed or why this has stopped working?386Views9likes2CommentsLeverage AI for faster, more productive coding with GitHub Copilot
GitHub Copilot serves as an invaluable learning tool for developers, especially those who are still learning a particular programming language or framework. By providing context-aware suggestions, it helps learners understand the syntax, structure, and logic behind different code snippets. While fundamental knowledge of programming concepts and syntax services should remain a prerequisite, a developer exploring a new framework would be able to describe the functionality they want to implement, and GitHub Copilot will generate code that demonstrates how to achieve it. This accelerates the learning process and empowers developers to gain proficiency in new technologies more efficiently.