无法创建组,无效范围

时间:2020-11-04 16:55:28

标签: microsoft-graph-sdks

我正在尝试使用以下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版

1 个答案:

答案 0 :(得分:0)

我最终序列化了该对象,并使用自己的代码进行了Http调用。基本上是这样的:

string json = JsonConvert.SerializeObject(groupDef, jsonSettings);
Group group = HttpPost<Group>("/groups", json);

未更改任何权限。