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

升级GraphAPI SDK至6.5.x后查询用户组成员身份失败

Graph SDK 6.5.x升级后用户组成员查询功能异常问题

我将调用Graph API获取用户详情的应用依赖从Graph API SDK 5.x版本升级至最新6.5.x版本后,查询用户组成员身份的功能无法正常工作(该功能在5.x版本中可正常运行)。

我的代码如下:

public List<Group> fetchGroupMemberships(String userId) {
    if (StringUtils.isEmpty(userId)) {
        log.warn("Cannot fetch group memberships for null user or a user with an empty/null id...");
        return List.of();
    }
    var groupMemberPage = client.users()
            .byUserId(userId)
            .memberOf()
            .get();

    var fetched = new ArrayList<Group>();
    while (groupMemberPage != null) {
        var groups = groupMemberPage.getValue() != null ? groupMemberPage.getValue()
                .stream()
                .filter(object -> object instanceof Group)
                .map(object -> (Group) object)
                .toList() : null;
        if (CollectionUtils.isNotEmpty(groups)) {
            log.debug("Appending groups {} to existing list...", groups);
            fetched.addAll(groups);
        }
        var odataNext = groupMemberPage.getOdataNextLink();
        if (StringUtils.isEmpty(odataNext)) {
            log.debug("No more groups to fetch. Breaking...");
            break;
        } else {
            log.debug("Fetching next page of groups...");
            groupMemberPage = client.users()
                    .byUserId(userId)
                    .withUrl(odataNext)
                    .memberOf()
                    .get();
        }
    }
    return fetched;
}

传入userId查询用户组成员身份时,抛出以下异常:

java.lang.IllegalStateException: Not a JSON Array: {"@odata.type":"#microsoft.graph.group","id":"<uuid-of-group>","deletedDateTime":null,"classification":null,"createdDateTime":null,"creationOptions":[],"description":null,"displayName":null,"expirationDateTime":null,"groupTypes":[],"isAssignableToRole":null,"mail":null,"mailEnabled":null,"mailNickname":null,"membershipRule":null,"membershipRuleProcessingState":null,"onPremisesDomainName":null,"onPremisesLastSyncDateTime":null,"onPremisesNetBiosName":null,"onPremisesSamAccountName":null,"onPremisesSecurityIdentifier":null,"onPremisesSyncEnabled":null,"preferredDataLocation":null,"preferredLanguage":null,"proxyAddresses":[],"renewedDateTime":null,"resourceBehaviorOptions":[],"resourceProvisioningOptions":[],"securityEnabled":null,"securityIdentifier":null,"theme":null,"uniqueName":null,"visibility":null,"onPremisesProvisioningErrors":[],"serviceProvisioningErrors":[]}
    at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:117)
    at com.microsoft.kiota.serialization.JsonParseNode.iterateOnArray(JsonParseNode.java:167)
    at com.microsoft.kiota.serialization.JsonParseNode.getUntypedValue(JsonParseNode.java:245)
    at com.microsoft.kiota.serialization.JsonParseNode.tryGetAnything(JsonParseNode.java:317)
    at com.microsoft.kiota.serialization.JsonParseNode.assignFieldValues(JsonParseNode.java:299)
    at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:213)
    at com.microsoft.kiota.serialization.JsonParseNode.lambda$getCollectionOfObjectValues$1(JsonParseNode.java:195)
    at com.microsoft.kiota.serialization.JsonParseNode.iterateOnArray(JsonParseNode.java:175)
    at com.microsoft.kiota.serialization.JsonParseNode.getCollectionOfObjectValues(JsonParseNode.java:195)
    at com.microsoft.graph.models.DirectoryObjectCollectionResponse.lambda$getFieldDeserializers$0(DirectoryObjectCollectionResponse.java:34)
    at com.microsoft.kiota.serialization.JsonParseNode.assignFieldValues(JsonParseNode.java:297)
    at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:213)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:296)
    at com.microsoft.graph.users.item.memberof.MemberOfRequestBuilder.get(MemberOfRequestBuilder.java:110)
    at com.microsoft.graph.users.item.memberof.MemberOfRequestBuilder.get(MemberOfRequestBuilder.java:96)

从异常信息看,客户端无法解析JSON响应,但我不清楚具体原因。我是按照官方文档中的方法实现的,目前可以回退到5.x版本恢复功能,但希望了解问题根源,怀疑和某个GitHub问题相关,但不确定,求帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:13:27