我正在尝试使用以下dot.net代码创建一个网上论坛:
var groupDef = new Group()
{
DisplayName = name,
MailNickname = name + " " + GetTimestamp(),
Description = "Group/Team created for testing purposes",
Visibility = "Private",
GroupTypes = new string[] { "Unified" }, // same for all teams
MailEnabled = true, // same for all teams
SecurityEnabled = false, // same for all teams
AdditionalData = new Dictionary<string, object>()
{
["owners@odata.bind"] = owners.Select(o => $"{graphV1Endpoint}/users/{o.Id}").ToArray(),
["members@odata.bind"] = members.Select(o => $"{graphV1Endpoint}/users/{o.Id}").ToArray(),
}
};
// Create the modern group for the team
Group group = await graph.Groups.Request().AddAsync(groupDef);
我收到“不允许使用的方法”。在显示的最后一行上抛出错误(组group = await ...)。
身份验证提供程序的作用域参数包含“ Group.Read.All Group.ReadWrite.All”。
如果将Group.Create添加到作用域,则会收到错误消息,指出作用域无效。将范围缩小为“ Group.Create”也会产生错误。
显然,在范围内没有Group.Create的情况下我无法创建一个组,但这会在登录时引发错误。
Microsoft.Graph是版本3.19.0
Microsoft.Graph.Core是1.22.0版
答案 0 :(得分:0)
我最终序列化了该对象,并使用自己的代码进行了Http调用。基本上是这样的:
string json = JsonConvert.SerializeObject(groupDef, jsonSettings);
Group group = HttpPost<Group>("/groups", json);
未更改任何权限。