В течение нескольких недель я пытался добавить новое расширение схемы для своего приложения MVC на основе Microsoft Graph, по сути, чтобы хранить некоторые основные переменные вместе с почтовым сообщением.
Я следовал этому примеруиз 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 для учетной записи, с которой я тестирую, и все они кажутся правильными?Это то место, где они должны быть ??
ЛЮБЫЕ указатели были бы очень благодарны, так как я потерял так много времени, пытаясь получить, как мне казалось, очень прямолинейное тестовое приложение.