Я пытаюсь получить список подписок на уведомления из Azure AD, используя Microsoft Graph API.
Я пытаюсь сделать это в приложении webjob.
Класс funtions в проекте Webjob имееткод типа
public static void CreateAndUpdateSubcriptions()
{
var config= new ConfigurationSettings
{
AppId = "*****",
AppSecret = "***",
Ngrok = "****",
TenantId = "*****"
};
var graphServiceClient = GetGraphClient(config);//creates the graph client using client credential flow
var subscriptions = graphServiceClient.Subscriptions
.Request()
.GetAsync().Result;
List<Subscription> subscription = new List<Subscription>();
foreach (var subscrip in subscriptions)
{
if (subscrip.NotificationUrl == config.Ngrok + "/api/notifications")
{
subscription.Add(subscrip);
}
}
if (subscription.Count == 0)
{
var s = new Subscription
{
ChangeType = "updated",
NotificationUrl = config.Ngrok + "/api/notifications",
Resource = "groups",
ExpirationDateTime = DateTime.UtcNow.AddMinutes(10),
ClientState = "****"
};
s = graphServiceClient
.Subscriptions
.Request()
.AddAsync(sub).Result;
}
else
{
CheckSubscriptions(subscription, config);
}
}
Я дал приложению делегированное разрешение (Subscription.Read.All).
Но я не получаю никаких подписок обратно из раздела кода, когда яя снова запускаю код (поэтому существует подписка, которая существует),
var subscriptions = graphServiceClient.Subscriptions
.Request()
.GetAsync().Result;
Я не уверен, что делаю неправильно.
Любая помощь?