在哪里以及怎样添加新的架构扩展?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (20)

我已经尝试了几周为我的基于Microsoft Graph的MVC应用程序添加新的Schema Extension,主要是为了存储一些基本变量和邮件消息。

从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);

使用以下代码生成My Graph Client:

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 App权限,它们看起来都是正确的吗?这是他们应该在哪里?

任何指针都会非常感激,因为我已经失去了太多时间试图获得我认为是一个非常直接的测试应用程序启动和运行。

提问于
用户回答回答于

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励