azure-active-directory - 无法使用 Microsoft Graph API 从 Azure AD 获取订阅列表

标签 azure-active-directory microsoft-graph-api

我正在尝试使用 Microsoft graph api 从 Azure AD 获取通知订阅列表。

我正在一个 webjob 应用程序中尝试它。

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;

我不确定我做错了什么。

有什么帮助吗?

最佳答案

你应该给应用程序 申请权限而不是 授权 .

引用 https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-permissions-and-consent#types-of-permissions

还记得单击授予管理员同意按钮。

更新:引用这个document .
enter image description here

关于azure-active-directory - 无法使用 Microsoft Graph API 从 Azure AD 获取订阅列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56287627/

相关文章:

azure - 通过图表将自定义用户属性添加到 Azure AD B2C 中的用户流声明

azure-active-directory - 如何授予服务主体对 Active Directory 组的读取权限?

c# - Microsoft Graph API 访问 token

azure - Windows 10 : Join AAD with powershell

Azure AD 组 - Authorization_RequestDenied - 权限不足,无法完成操作

Azure AD 跨租户/订阅共享托管服务标识

office365 - 订阅验证请求失败。响应必须与validationToken 查询参数完全匹配

c# - 获取 Azure SQL Server 的 Azure AD token

Azure AD 与 Azure DevOps 同步

rest - 使用 MS Graph 中的服务主体在 ARM 中创建 AKS 集群时出错