0

几周以来,我一直在尝试为基于 Microsoft Graph 的 MVC 应用程序添加新的架构扩展,主要是为了存储一些基本变量以及邮件消息。

我已经从 GitHub 上关注了这个示例,经过几天非常令人沮丧的发现“布尔”和“整数”不受支持的属性类型,然后我遇到了传说中的“权限不足,无法完成操作”......

我一直在努力弄清楚我应该如何以及在哪里添加我的新扩展,就目前而言,我正在尝试使用以下代码作为经过身份验证的用户(谁是管理员)添加它:

SchemaExtension extensionPayload = new SchemaExtension()
{
    Description = "my extension example",
    Id = $"myExtensionExample",
    Properties = new List<ExtensionSchemaProperty>()
    {
      new ExtensionSchemaProperty() { Name = "prop1", Type = "String" },
      new ExtensionSchemaProperty() { Name = "prop2", Type = "String" }
    },
    TargetTypes = new List<string>()
    {
      "Message"
    }
};

SchemaExtension test = await client
    .SchemaExtensions
    .Request()
    .AddAsync(extensionPayload);

我的图形客户端是使用以下代码生成的:

public static async Task<GraphServiceClient> GetClient(HttpContextBase context)
{
    string token = await GetAccessToken(context);

    GraphServiceClient client = new GraphServiceClient(
        new DelegateAuthenticationProvider(
            (requestMessage) =>
            {
                requestMessage.Headers.Authorization =
                    new AuthenticationHeaderValue("Bearer", token);

                return Task.FromResult(0);
            }
        )
    );

    return client;
}

我的 Oauth 配置请求以下权限:

<add key="ida:AppScopes" value="User.Read Mail.ReadWrite Mail.Send Contacts.ReadWrite Directory.AccessAsUser.All" />

我检查了我正在测试的帐户的 Azure 应用程序权限,它们似乎都是正确的?那是他们应该在的地方吗?

任何指针都将不胜感激,因为我已经浪费了很多时间来尝试让我认为是一个非常简单的测试应用程序启动并运行。

4

1 回答 1

0

根据文档,不支持将此调用与应用程序权限一起使用。MS Graph API 文档中的权限表

于 2019-06-18T21:18:16.077 回答