Microsoft graph api 向MS Graph API发出批处理请求时出现未经授权的错误401
我们有一个应用程序正在迁移到MS Graph API,用于读取电子邮件,进行一些处理,然后将其移动到不同的文件夹。我们能够连接到MS Graph并以顺序方式执行上述操作。但是,我们希望分批处理它们,以减少网络呼叫和延迟 我们正在使用MSAL4J库开发JAVA应用程序,并引用link::来创建批处理请求 然而,当我们发送批处理请求时,我们得到了以下错误(即使是获取用户详细信息的单个请求) 响应{协议=http/1.1,代码=401,消息=Unauthorized,url=https://graph.microsoft.com/v1.0/$batch} 添加的API/权限为Mail.ReadWrite,具有管理员同意和用户.Read 如果批量处理需要其他设置,请告知我们 多谢各位 编辑1: 下面是返回上述响应的代码Microsoft graph api 向MS Graph API发出批处理请求时出现未经授权的错误401,microsoft-graph-api,Microsoft Graph Api,我们有一个应用程序正在迁移到MS Graph API,用于读取电子邮件,进行一些处理,然后将其移动到不同的文件夹。我们能够连接到MS Graph并以顺序方式执行上述操作。但是,我们希望分批处理它们,以减少网络呼叫和延迟 我们正在使用MSAL4J库开发JAVA应用程序,并引用link::来创建批处理请求 然而,当我们发送批处理请求时,我们得到了以下错误(即使是获取用户详细信息的单个请求) 响应{协议=http/1.1,代码=401,消息=Unauthorized,url=https://graph
Request userRequest = new Request.Builder().url(graphClient.me().getRequestUrl()).build();
MSBatchRequestStep userRequestStep = new MSBatchRequestStep("1", userRequest, null);
// Create the batch request content with the steps created above
List<MSBatchRequestStep> batchSteps = Arrays.asList(userRequestStep);
MSBatchRequestContent batchRequestContent = new MSBatchRequestContent(batchSteps);
ICoreAuthenticationProvider auth =
(ICoreAuthenticationProvider)graphClient.getAuthenticationProvider();
OkHttpClient client = HttpClients.createDefault(auth);
// Send the batch request content to the /$batch endpoint
String batchContent = batchRequestContent.getBatchRequestContent();
Request batchRequest = new Request.Builder()
.url("https://graph.microsoft.com/v1.0/$batch")
.post(RequestBody.create(MediaType.parse("application/json"), batchContent))
.build();
Response batchResponse = client.newCall(batchRequest).execute();
Request userRequest=newrequest.Builder().url(graphClient.me().getRequestUrl()).build();
MSBatchRequestStep userRequestStep=新的MSBatchRequestStep(“1”,userRequest,null);
//使用上面创建的步骤创建批处理请求内容
List batchSteps=Arrays.asList(userRequestStep);
MSBatchRequestContent batchRequestContent=新的MSBatchRequestContent(batchSteps);
ICoreAuthenticationProviderAuth=
(ICoreAuthenticationProvider)graphClient.getAuthenticationProvider();
OkHttpClient=HttpClients.createDefault(auth);
//将批处理请求内容发送到/$batch端点
字符串batchContent=batchRequestContent.getBatchRequestContent();
Request batchRequest=newrequest.Builder()
.url(“https://graph.microsoft.com/v1.0/$batch“)
.post(RequestBody.create(MediaType.parse(“application/json”),batchContent))
.build();
Response batchResponse=client.newCall(batchRequest.execute();
401并不意味着您缺乏权限。您处理了哪个错误请求?请提供相关性和timestamp@Carl赵:用代码编辑了这个问题details@Shruthi:无法找到相关ID。通过发送时间戳获得以下详细信息:1602671828968客户端请求iD:8db310e2-5e7e-4dd6-9927-748916219bca请求iD:2312b82c-191a-4c88-8dc0-9533ECF2DFF0您能否正确提供时间戳和请求iD?