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

使用C# SDK调用Microsoft Graph API的subscribedSkus时GUID格式错误求助

解决Microsoft Graph API获取SubscribedSku时的"Invalid object identifier"错误

问题原因

你遇到的错误是因为SubscribedSku的标识符必须是[租户GUID]_[SKU GUID]的格式,而不是单独的SKU GUID。Graph API要求通过这种复合ID来唯一标识租户下的订阅SKU。

解决方案

方法1:先获取所有SubscribedSkus,筛选目标SKU的完整ID

如果不知道租户ID,可以先调用接口获取所有订阅SKU,从中找到目标SKU的id字段(格式就是tenantId_skuId),再用这个完整ID调用单个SKU的接口:

public async Task<SubscribedSku> GetAvailableLicenceDetails(string targetSkuId)
{
    try
    {
        string accessToken = await tokenAcquisition.GetAccessTokenForUserAsync(new string[] { "Organization.Read.All" });
        var authenticationProvider = new BaseBearerTokenAuthenticationProvider(new TokenProvider(accessToken));
        var graphServiceClient = new GraphServiceClient(authenticationProvider);

        // 获取所有订阅SKU
        var subscribedSkus = await graphServiceClient.SubscribedSkus.GetAsync();
        // 筛选出目标SKU(匹配skuId部分)
        var targetSku = subscribedSkus.Value.FirstOrDefault(sku => sku.SkuId.ToString() == targetSkuId);
        
        if (targetSku == null)
        {
            throw new ArgumentException("未找到指定的SKU");
        }

        return targetSku;
    }
    catch (ODataError odataError)
    {
        Console.WriteLine(odataError.Error.Code);
        Console.WriteLine(odataError.Error.Message);
        throw;
    }
}

// 调用时传入SKU GUID
var sku = await GetAvailableLicenceDetails("6fd2c87f-b296-42f0-b197-1e91e994b900");

方法2:手动拼接租户ID和SKU ID

如果你已经知道租户ID(可通过Azure门户查看或调用/organization接口获取),直接拼接成{tenantId}_{skuId}格式传入:

// 替换为你的租户GUID
string tenantId = "你的租户GUID";
string skuId = "6fd2c87f-b296-42f0-b197-1e91e994b900";
var sku = await GetAvailableLicenceDetails($"{tenantId}_{skuId}");

注意事项

  • 确保已为应用或用户正确授予Organization.Read.All权限,且权限已获得管理员同意(委托权限场景)。
  • 若使用应用权限,需调用tokenAcquisition.GetAccessTokenForAppAsync而非用户权限方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:32:41