使用 Microsoft Graph 查询 AzureAD Graph 扩展属性

2024-02-05

我正在从 Azure AD Graph API 迁移到 Microsoft Graph,因为它现已弃用。以前可以使用以下方式访问用户的扩展属性Microsoft.Azure.ActiveDirectory.GraphClient .GetExtendedProperties();致电例如:

var client = new ActiveDirectoryClient(serviceRoot, async () => await GetToken());
var user = await client.Users["user id..."].ExecuteAsync();
var properties = user.GetExtendedProperties();

我需要用等效的调用来复制这个Microsoft Graph.

我看过模式扩展 https://learn.microsoft.com/en-us/graph/extensibility-overview#schema-extensions?WT.mc_id=AZ-MVP-5000174端点,例如:

获取所有扩展名:

/v1.0/schemaExtensions

但这似乎不会返回与 AD Graph 客户端相同的扩展数据。

使用 ext 获取用户:

v1.0/users/[user id]?$expand=extensions&$select=id,extension_[application id]_myExtension,onPremisesExtensionAttributes,displayName,jobTitle,identities

Where extension_[application id]_myExtension是格式示例扩展:

extension_appid_extensionname

并且这不会返回用户的自定义扩展数据(但是其他属性工作正常)。

我们如何将扩展属性从 AD Graph 客户端迁移到 Microsoft Graph?


模式扩展不同于扩展属性。你提到的应该是在 Microsoft Graph 中。

您可以使用获取所有扩展名。

你的申请v1.0/users/[user id]?$expand=extensions&$select=id,extension_[application id]_myExtension,onPremisesExtensionAttributes,displayName,jobTitle,identities应该是正确的。

请确保application id应该删除所有-。扩展属性格式为extension_[application id without "-"]_myExtension.

例如:

GET https://graph.microsoft.com/v1.0/me?$select=id,extension_6d****fbf1fe4bc38a5a145520****89_policy,displayName

回复:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,extension_6d****fbf1fe4bc38a5a145520****89_policy,displayName)/$entity",
    "id": "98****c9-f062-48e2-8ced-22cb68****ce",
    "displayName": "Allen Wu",
    "extension_6d****fbf1fe4bc38a5a145520****89_policy": "readwrite"
}

C# 代码示例:

var user = await graphClient.Users["98****c9-f062-48e2-8ced-22cb6****ce"]
    .Request()
    .Select("id,extension_6d****fbf1fe4bc38a5a145520****89_policy,displayName")
    .GetAsync();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Microsoft Graph 查询 AzureAD Graph 扩展属性 的相关文章

  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler

随机推荐

  • OpenGL 纹理反转

    我正在尝试将网络摄像头的输入映射到 OpenGL 中的平面 我正在使用 OpenCV 从网络摄像头获取图像 我遇到的问题是纹理是垂直反转的 如果我的纹理是 v 则当前结果是 我想将从网络摄像头拍摄的图像调整到我的飞机上 2x2 它的左下角是
  • 在本地主机的 Android 应用程序中使用 Web 服务

    我正在尝试使用我从 Android 应用程序本地创建的 Web 服务 我的问题是 在我的 Android 应用程序中 在某个时刻 我必须提供一个带有如下参数的 URL where CalculatorWS是我使用的网络服务 add是其中的操
  • 如何使用 setuptools 在 Python 3.6 中的库发行版上包含父文件夹结构?

    我正在使用 setuptools 来分发 Python 库 我有以下目录结构 src production setup py prod library package1 package2 文件夹结构必须保持这样 因为将来会有多个库位于 sr
  • 如何选择目录中的第一个文件?

    我试图在不知道文件名的情况下逐个处理目录中的一些文件 所以我用过os listdir path 列出文件 所以我必须在每次调用函数时列出文件 问题是当有很多文件 比如 2000 个 时 列出每个文件需要很长时间 而我只想要第一个文件 有没有
  • Cassandra 3.0 不接受 Java 11 安装

    我正在尝试启动 Cassandra 3 但它给出了消息 Cassandra 3 0 及更高版本需要 Java 8u40 或更高版本 我安装了 Java 11 gt java version java version 11 0 11 2021
  • 收到推送后出现意外的系统错误

    今天 github com 出现了一些停机时间 直到我去推送大约十几个本地提交时我才意识到 https status github com messages https status github com messages https tw
  • 使用 xcopy 批量复制文件

    我已经在互联网上检查了一些示例 但我无法让我的 第一个 批处理文件工作 我想自动将文件从一个文件夹复制到另一个文件夹 但没有任何反应 echo off xcopy C source C target c d i y exit 你能看出有什么
  • AttributeError:模块“numpy”没有属性“__version__”

    我今天更新了计算机 当我尝试导入 pandas 时收到以下错误消息 import pandas as pd AttributeError module numpy has no attribute version 我已尝试以下链接中的建议
  • 如何从 OneDrive 下载文件

    我想从 One Drive 下载公共文件夹中的文件 但它不下载这些文件 这是场景 在公共文件夹中 我有另一个文件夹 其中包含多个文件 并且可以广泛访问 出于测试目的 我共享了公共文件夹中的所有文件 如果这是正确的共享方式 我不会共享 以下链
  • laravel 5.2 将数据传递到注册视图

    我正在使用 laravel 5 2 我编写了以下命令来自动添加身份验证的路由和视图 php artisan make auth 现在我想将数据传递到注册视图 但我找不到在哪里执行此操作 我认为应该使用如下代码 Route get regis
  • 停止重复 UIView 动画块?

    我有一个 UIView 动画块 它使用UIViewAnimationOptionRepeat UIViewAnimationOptionAutoReverse选项 因此它会继续进行 但在某些时候我需要停止动画 但更重要的是停止它并使视图返回
  • Angular 中使用 rxjs 的用户通知服务?

    我对反应式编程比较陌生 我正在尝试创建一个可以向用户显示通知的 Angular 服务 到目前为止 这就是我所拥有的 https stackblitz com edit angular rxjs notifications file app
  • 当半径增加时如何在 CLLocationManager 中为区域绘制固定圆

    我有一个要求 我必须在 CLLocationManager 中为区域绘制一个圆圈 我已经完成了本准则的要求 CLLocationDegrees latitude 37 33492222 CLLocationDegrees longitude
  • 如何在android中使用XMLStreamWriter编写XMl文件

    我想创建 XML 文件 这是我的以下代码 String fileName jasstech xml XMLOutputFactory xof XMLOutputFactory newInstance XMLStreamWriter xtw
  • glPopMatrix() 喊叫“setup_hardware_state 中不支持纹理格式”

    我正在尝试对 Linux 的私人视频播放器进行一些优化 旨在提高性能 因为播放 MP4 文件对 CPU 的占用很大 自从视频帧采用 YV12 编码并且 OpenGL 不提供显示此格式的本机方法 现在有一段代码在CPU上运行 在将图像发送到G
  • Mongoose - 使用聚合返回单个文档而不是文档数组

    在开始使用聚合来创建文档的时间戳之前 我使用 findOne 这样我可以获得单个对象 但现在我得到一个包含单个对象的数组 是否可以使查询返回单个对象而不是数组 先感谢您 我正在使用的查询 News aggregate match id n
  • 如何使用元数据注释在 Dart 分析器中提供警告消息?

    我创建了一个像这样的元数据注释 class UseInt const UseInt UseInt class Foo Should give a lint warning saying The class should only use i
  • 防止 MEX 文件在 MATLAB 中崩溃

    我有一个 MEX 文件 是我从别人那里 借来 的 用来帮助我编写半自动核检测算法 问题是 MEX 文件偶尔会导致分段错误 但是 如果代码第二次使用相同的参数运行 那就没问题了 我希望有一种try catchMEX 文件的习语 但在周六花了大
  • android 退出时清除应用程序缓存

    我想要做的是在应用程序退出时清除应用程序的缓存 我可以通过以下步骤手动完成此任务 管理应用程序 gt 我的应用程序 gt 清除缓存 gt gt 但我想通过在应用程序退出时编程来完成这项任务 请帮助我 提前致谢 要清除应用程序数据 请尝试这种
  • 使用 Microsoft Graph 查询 AzureAD Graph 扩展属性

    我正在从 Azure AD Graph API 迁移到 Microsoft Graph 因为它现已弃用 以前可以使用以下方式访问用户的扩展属性Microsoft Azure ActiveDirectory GraphClient GetEx