java - 使用 Java Microsoft graph SDK 在 Outlook 中添加成员

标签 java microsoft-graph-sdks

我正在尝试使用 java 中的 Microsoft Graph API 将用户添加到 Outlook 中的组。我引用了开发人员指南:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/group_post_members 用于添加用户。

但是为了实现此目的,我使用Microsoft graph java sdk,并且我需要在java中的组中添加带有成员Idjson对象,例如

POST https://graph.microsoft.com/v1.0/groups/{id}/members/$ref
Content-type: application/json
Content-length: 30
{
    "@odata.id": "https://graph.microsoft.com/v1.0/users/{id}"
}

请告诉我如何在 java 中的请求正文中添加 json 对象。

我的代码如下所示:

public void addMemberToGroup(String groupId,String userId) {

            Group group =  mGraphServiceClient
                                              .groups(groupId)
                                              .buildRequest()
                                              .get();

                JsonObject payload1 = new JsonObject();
                        IJsonBackedObject requestBody = new ReferenceRequestBody("https://graph.microsoft.com/v1.0/users/78276c08-9802-4108-8b20-d70cff6666e5");

                        mGraphServiceClient
                        .groups(groupId)
                        .members(userId)
                        .buildRequest()
                        .post(user,requestBody);

}

这样我得到的错误如下:

严重:可抛出的详细信息:com.microsoft.graph.http.GraphServiceException:错误代码:BadRequest 错误消息:仅包含的实体支持写入请求

发布https://graph.microsoft.com/v1.0/groups/5877490c-54fe-45fb-b288-b5d0f6902058/members/78276c08-9802-4108-8b20-d70cff6666e5 SdkVersion:graph-java-v0.2.0 授权:承载 eyJ0eXAiOiJKV1QiLCJub25jZSI[...] {“@odata.id”:“https://graph.microsoft.com/v1.0/use[...]

400:错误请求 [...]

请告诉我如何解决这个问题。

最佳答案

应该是这样的:

User user = new User();
user.id=userId;

mGraphServiceClient.groups(groupId).members().references().buildRequest().post(user);

DirectoryObject directoryObject = new DirectoryObject();
directoryObject.id = userId;  

mGraphServiceClient.groups(groupId).members().references().buildRequest().post(directoryObject);

关于java - 使用 Java Microsoft graph SDK 在 Outlook 中添加成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53140576/

相关文章:

java - Tomcat 托管,通过 github 的 openshift,隐藏特定页面?

java - Alfresco 工作流触发器通过 Java 代码

java - char 数组的值不断变化

java - 如何 JNA 映射指针到数组?我不断收到无效内存访问或垃圾数据

从 API 调用 Microsoft Graph 时 Azure AD B2C 重置密码选项

php - 如何在微软的php graph api中访问响应数据

microsoft-graph-api - 使用微软图形 API 获取公共(public)文件夹

java - 将 Maven 项目 "YCSB"导入 Eclipse

c# - 如何使用 Microsoft Graph sdk 通过电子邮件地址从 Active Directory 获取用户信息