【发布时间】:2020-04-23 12:32:11
【问题描述】:
我想从一个新创建的组中组建一个新的 MSTeam。
- 我创建了一个新的 GraphServiceClient
- 我创建了一个新的 AuthProvider
-
我用这样的客户创建了一个新组:
graphApplicationClient.groups().buildRequest().post(group);
它工作到这里。我得到一个 Group 对象作为响应,并且可以使用它。它有一个 Id 等等
之后我想从这个组中创建一个新团队,所以我打电话
ITeamRequest iTeamRequest = graphApplicationClient.groups(pGroupId).team().buildRequest();
iTeamRequest.setMaxRetries(3);
iTeamRequest.setDelay(10);
Team newTeam = iTeamRequest.post(team);
其中 pGroupId 是我之前从通话中获得的 ID。 (在这种情况下:“团队”是在此调用之前创建的新团队对象,就像在 MS-Docs 中一样。)
我知道 MS-Docs 中的那句话:
如果群组是在不到 15 分钟前创建的,则可能 由于复制,创建团队调用失败并出现 404 错误代码 延误。推荐的模式是重试创建团队调用三 次,通话之间有 10 秒的延迟。
这就是为什么我添加了 maxRetries 和 Delay.. 我看了这个视频:
https://youtu.be/ybGm1qWVi-k?t=650
其中两名 MS 员工的行为与我完全相同... 我错过了什么?或者有解决方法吗?
这是回复:
404 : Not Found
Strict-Transport-Security : max-age=31536000
Cache-Control : private
x-ms-ags-diagnostic : {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"002","RoleInstance":"AGSFE_IN_51"}}
client-request-id : b39c16e4-f786-4d42-865e-9f0cf23ed46f
request-id : 07efc77c-02d3-45f7-85ab-6ca2241d1859
Content-Length : 198
Date : Thu, 23 Apr 2020 12:39:30 GMT
Content-Type : application/json
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "07efc77c-02d3-45f7-85ab-6ca2241d1859",
"date": "2020-04-23T12:39:30"
}
}
}
如果我在其中添加更多重试次数(10 = Max)和更多延迟(180 = Max),它也不起作用...... 而且java中没有PUT..
最好的问候
EDIT1:我尝试使用其他两个选项来完成它。第一个使用 ScribeJava,第二个使用普通的 httpRequest.. 它们都不起作用。我只用graphExplorer完成它。使用其他选项它说BadRequest,但是当我将代码中的所有内容复制到GraphExplorer时它可以工作......帮助我:(
EDIT2:我有一个小组已经存在了一天。由此我想创建一个新团队。仍然 404 未找到。我用 GraphAPI 和 ScribeJava 尝试过。这些调用都不起作用。调试通过,复制所有信息,放入Postman,工作正常。
【问题讨论】:
-
您能否确认您是否添加了具有所需权限的访问令牌。这是create team using Graph API的示例代码。
-
是的,我很确定我拥有正确的访问令牌,因为在我创建具有相同访问令牌的新 Azure 组之前,它工作正常。我得到了 Group-Object 并可以访问 group.id 方法,该方法为我提供了新 Group 的 Id。我调试并复制了访问令牌并进行了 Postman 调用 -> 工作正常。但不是用代码..(在 Postman 中我必须使用 PUT..但在 graph-sdk 中的 Java 中没有 PUT...)
-
java SDK中有一个PUT。你能试试样品吗here
-
我在我的问题中添加了一张图片。请看一下。
标签: java microsoft-graph-api microsoft-teams