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