You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C# SDK执行等价Microsoft Graph查询仅获取群组DisplayName

问题

给定群组ID,希望仅获取该群组的DisplayName。在Microsoft Graph Explorer中可以实现,但用C#的Graph SDK调用graphServiceClient.Groups.GetByIds(POST请求)时,不知道怎么指定$select参数,PostAsync方法看起来没有设置查询参数的入口。

尝试的代码如下:

var groups = await graphServiceClient.Groups.GetByIds
    .PostAsync(new() { Ids = ids, Types = new() { "group" } }, null, cancellationToken)
    .ConfigureAwait(false);
return groups?.Value?.Select(d => ((Microsoft.Graph.Models.Group)d).DisplayName);

这段代码能获取群组的全部属性,但只想拿到DisplayName,请问是否可行?毕竟Graph Explorer里能成功执行。

解决方案

完全可以实现,你需要通过GetByIdsRequestConfiguration来设置$select查询参数,具体修改代码如下:

var requestConfig = new GroupsGetByIdsRequestConfiguration
{
    QueryParameters = new GroupsGetByIdsQueryParameters
    {
        Select = new[] { "displayName" }
    }
};

var groups = await graphServiceClient.Groups.GetByIds
    .PostAsync(new() { Ids = ids, Types = new() { "group" } }, requestConfig, cancellationToken)
    .ConfigureAwait(false);

return groups?.Value?.Select(d => ((Microsoft.Graph.Models.Group)d).DisplayName);

核心是创建一个请求配置对象,在QueryParameters的Select数组里指定要返回的属性displayName,然后把这个配置对象传给PostAsync的第二个参数。这样Graph API就只会返回你需要的DisplayName属性,不用拉取全部字段。

内容的提问来源于stack exchange,提问作者Shripathi Kamath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:02:38