Microsoft Graph API 查询涉及 externalUserState C#

格特里韦迪

嗨,我正在尝试编写一个简单的控制台应用程序,我打算将其制作成批处理文件并获取通过电子邮件邀请的外部用户列表,现在他们在我们的 Azure 租户中拥有来宾帐户,并且他们已经兑换了是通过电子邮件发送给他们的。当他们赎回时,他们的extenalUserState设置为“已接受”。我想找到哪些具有该状态。

有人告诉我,我必须指向 API 的 beta 版本,而不是图形端点的 v.1.0。

我编写了以下基本代码,查看了可以在 API 等的 GitHub/MS 文档中找到的各种示例。

using Microsoft.Graph;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace CreateAzureADUser
{
    class Program
    {
        static string TenantDomain;
        static string TenantId;
        static string ClientId;
        static string ClientSecret;
        static void Main(string[] args)
        {
            GetUsers();
            //Console.WriteLine("------------------------------------------\n\n");
            //GetGroupsAndMembers();
            //CreateAzureADUserNow();
        }

        private static void GetUsers()
        {
            var graphServiceClient = CreateGraphServiceClient();


            var users = graphServiceClient.Users.Request().Filter("userType eq 'Guest' and startswith(mail,'phs')")
                                                          .Select("id,mail,OnPremisesExtensionAttributes,userType,displayName,externalUserState")
                                                          .GetAsync()
                                                          .Result;



            Console.WriteLine("Users found: {0}", users.Count);
            Console.WriteLine();

            foreach (var item in users)
            {
                Console.WriteLine("displayName: {3} \nuser id: {0} \nuser email: {1} \nExtensionAttribute8: {2}\n", item.Id, item.Mail, item.OnPremisesExtensionAttributes.ExtensionAttribute8, item.DisplayName);
            }



        }

        public static GraphServiceClient CreateGraphServiceClient()
        {
            TenantDomain = "mycompanytenant.onmicrosoft.com";
            TenantId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
            ClientId = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";
            ClientSecret = "zzzzzzzzzzzz";

            var clientCredential = new ClientCredential(ClientId, ClientSecret);
            var authenticationContext = new AuthenticationContext($"https://login.microsoftonline.com/mycompanytenant.onmicrosoft.com");
            var authenticationResult = authenticationContext.AcquireTokenAsync("https://graph.microsoft.com", clientCredential).Result;


            var delegateAuthProvider = new DelegateAuthenticationProvider((requestMessage) =>
            {
                requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", authenticationResult.AccessToken);
                return Task.FromResult(0);
            });

            // Use this for v.1.0 endpoint
            //return new GraphServiceClient(delegateAuthProvider);

            // Use this for connecting to beta endpoint
            return new GraphServiceClient("https://graph.microsoft.com/beta", delegateAuthProvider);
        }
}
}

当我运行调试器时,我没有看到“ExternalUserState”作为返回用户的属性。

如何访问来宾用户对象上的 ExternalUserState 属性?

马克·拉弗勒

您使用的是 SDK,因此您使用的是 Graph v1.0,而不是 Beta。SDK 都是从 v1.0 元数据生成的,因此模型中根本不存在 beta 属性和方法。

有时会向 GitHub 推送一个 beta 版本,但它通常落后几个版本。目前,可用的最新 beta SDK 似乎是v1.12.0(作为参考,当前的 SDK 是 v1.15)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用搜索Microsoft Graph API C#

来自分类Dev

查询来自其他Azure AD的用户的Microsoft Graph API

来自分类Dev

Microsoft Graph API odata $ filter查询似乎不起作用

来自分类Dev

使用Microsoft Graph查询Bookings API无法正常工作

来自分类Dev

C#Microsoft Graph API获取特定的日历

来自分类Dev

Outlook REST API与Microsoft Graph

来自分类Dev

从Python调用Microsoft Graph API

来自分类Dev

Microsoft Graph InTune Beta API的

来自分类Dev

从 Microsoft Graph Api 接收图像

来自分类Dev

Microsoft Graph API 哪个版本

来自分类Dev

Microsoft Graph的筛选查询失败

来自分类Dev

Microsoft Graph API-$ search查询不会分页显示所有结果

来自分类Dev

Microsoft Graph API查询以管理员授予的应用程序权限

来自分类Dev

Sharepoint Online列表项查询使用Microsoft Graph API返回空数组

来自分类Dev

Microsoft graph API:查询以列出没有组成员身份的所有用户

来自分类Dev

C#中的Microsoft Graph API基本应用程序

来自分类Dev

如何使用Microsoft Graph API c#SDK在DriveItem上获取Sharepoint ListItem

来自分类Dev

C#中的Microsoft Graph API代码仅显示有限数量的用户

来自分类Dev

如何在C#中使用Microsoft Graph Api上传到OneDrive

来自分类Dev

如何使用Microsoft Graph API Rest调用在c#中上传超过4MB

来自分类Dev

Microsoft Graph API是否支持Azure AD B2C的更改通知?

来自分类Dev

如何通过Microsoft graph API C#在Microsoft Teams中将消息发送到1:1聊天或群聊

来自分类Dev

Microsoft Graph API查询可在资源管理器上运行,但不能在Microsoft Graph .NET客户端库中使用

来自分类Dev

Microsoft Graph API的增量OAuth同意

来自分类Dev

如何从Microsoft Graph API获取访问令牌?

来自分类Dev

Microsoft Graph API的多租户支持

来自分类Dev

访问令牌验证失败Microsoft Graph API

来自分类Dev

Microsoft Graph REST API无法写邮件

来自分类Dev

为Intune批准对Microsoft Graph Api的调用

Related 相关文章

  1. 1

    使用搜索Microsoft Graph API C#

  2. 2

    查询来自其他Azure AD的用户的Microsoft Graph API

  3. 3

    Microsoft Graph API odata $ filter查询似乎不起作用

  4. 4

    使用Microsoft Graph查询Bookings API无法正常工作

  5. 5

    C#Microsoft Graph API获取特定的日历

  6. 6

    Outlook REST API与Microsoft Graph

  7. 7

    从Python调用Microsoft Graph API

  8. 8

    Microsoft Graph InTune Beta API的

  9. 9

    从 Microsoft Graph Api 接收图像

  10. 10

    Microsoft Graph API 哪个版本

  11. 11

    Microsoft Graph的筛选查询失败

  12. 12

    Microsoft Graph API-$ search查询不会分页显示所有结果

  13. 13

    Microsoft Graph API查询以管理员授予的应用程序权限

  14. 14

    Sharepoint Online列表项查询使用Microsoft Graph API返回空数组

  15. 15

    Microsoft graph API:查询以列出没有组成员身份的所有用户

  16. 16

    C#中的Microsoft Graph API基本应用程序

  17. 17

    如何使用Microsoft Graph API c#SDK在DriveItem上获取Sharepoint ListItem

  18. 18

    C#中的Microsoft Graph API代码仅显示有限数量的用户

  19. 19

    如何在C#中使用Microsoft Graph Api上传到OneDrive

  20. 20

    如何使用Microsoft Graph API Rest调用在c#中上传超过4MB

  21. 21

    Microsoft Graph API是否支持Azure AD B2C的更改通知?

  22. 22

    如何通过Microsoft graph API C#在Microsoft Teams中将消息发送到1:1聊天或群聊

  23. 23

    Microsoft Graph API查询可在资源管理器上运行,但不能在Microsoft Graph .NET客户端库中使用

  24. 24

    Microsoft Graph API的增量OAuth同意

  25. 25

    如何从Microsoft Graph API获取访问令牌?

  26. 26

    Microsoft Graph API的多租户支持

  27. 27

    访问令牌验证失败Microsoft Graph API

  28. 28

    Microsoft Graph REST API无法写邮件

  29. 29

    为Intune批准对Microsoft Graph Api的调用

热门标签

归档