几周来,我一直在尝试为我的基于Microsoft Graph的MVC应用程序添加一个新的Schema扩展,本质上是将一些基本变量与邮件消息一起存储。
我关注了this example from GitHub,在经历了几天非常沮丧的工作后,我发现"Boolean“和"Integer”属性类型不受支持,然后我遇到了传说中的“权限不足,无法完成操作”……
我一直在绞尽脑汁,试图弄清楚我应该如何以及在哪里添加我的新扩展,因为它站在我试图添加它与以下代码作为认证用户(谁是管理员):
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);
我的Graph客户端是用以下代码生成的:
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应用程序权限,它们似乎都是正确的?那是他们应该在的地方吗??
任何人都会非常感激,因为我已经浪费了太多的时间来尝试让我认为是一个非常简单的测试应用程序启动和运行。
发布于 2019-06-19 05:18:16
根据docs,不支持将此调用与应用程序权限一起使用。
https://stackoverflow.com/questions/55284062
复制相似问题