如何在 Android 应用程序中访问 graph.windows.net Microsoft Azure Graph API?

2024-04-09

我已要求 IT 管理员添加一个名为EmployeeId以 Azure Active Directory 的目录扩展的形式,与我们的现场 AD 同步。当给定用户登录我的 Android 应用程序时,我试图检索该值。

我已经关注了this https://github.com/OfficeDev/Unified-API-Getting-Started-Labs/tree/master/Android指南允许我从 URL 检索数据graph.microsoft.com当前登录的用户,即名字、姓氏等。

问题是,当我运行架构扩展的 get 请求时(https://graph.microsoft.com/beta/schemaExtensions)尝试检索value of EmployeeId它只返回有关属性的一些元数据,而不是属性本身:

{
        "id": "exti1rcdc4h_Employee",
        "description": "Baker is testing extension",
        "targetTypes": [
            "user"
        ],
        "status": "Available",
        "owner": "XXXXXXXXXXXXXXXXXX",
        "properties": [
            {
                "name": "EmployeeId",
                "type": "Integer"
            }
        ]
    }

经过一些研究后,我发现我可以使用this https://graphexplorer.azurewebsites.net/图形浏览器可以轻松检索值(通过使用 get 请求https://graph.windows.net/mydomain.com/users/[email protected] /cdn-cgi/l/email-protection).

但问题是 URLgraph.explorer.net似乎与上面提到的指南不兼容。

有更好的方法来解决这个问题吗?

--EDIT--

只是为了澄清我只能检索到的值extension_980f32feca7d475f9e1b90a410dbee63_employeeID成功地使用了Azure AD 图形浏览器 https://graphexplorer.azurewebsites.net/当我访问 /users 端点时,未返回该值微软图形浏览器 https://developer.microsoft.com/en-us/graph/graph-explorer

GET 中为每个用户返回的数据https://graph.microsoft.com/v1.0/users要求:

"id": "d0be2ebd-0c7b-4c10-aebe-9db4c90a9594",
        "businessPhones": [],
        "displayName": "username",
        "givenName": "Jhon",
        "jobTitle": null,
        "mail": "[email protected] /cdn-cgi/l/email-protection",
        "mobilePhone": null,
        "officeLocation": null,
        "preferredLanguage": null,
        "surname": "Smith",
        "userPrincipalName": "[email protected] /cdn-cgi/l/email-protection"

您之所以感到困惑,是因为目前有两种不同的 Graph API;微软图形API https://developer.microsoft.com/en-us/graph/ and Azure Active Directory 图形 API https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-graph-api.

在 Microsoft Graph 推出之前,有数十个 API,每个产品组单独发布。 Microsoft Graph API 的创建是为了将这些合并到单个端点中。显然,这是一项不平凡的工作,因此 Microsoft Graph 在过去几年中一直在吸收 API。 Azure Active Directory Graph API 就是这些被吸收的 API 之一。

您正在寻找的 API 是微软图形API https://developer.microsoft.com/en-us/graph/。特别是你正在寻找的我这些架构扩展 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/schemaextension.

至于从 Android 访问 API,您很可能希望使用适用于 Android 的 Microsoft Graph SDK https://github.com/microsoftgraph/msgraph-sdk-android。还有少数可用的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 应用程序中访问 graph.windows.net Microsoft Azure Graph API? 的相关文章

  • ContentResolver的notifyChange方法是否也通知详细的Uri?

    在应用数据期间我使用notifyChange与Uri 假设我通知content com package my items 我还有详细的Activity显示数据来自content com package my items 1 是否通知 一般
  • Flutter 中的 AndroidManifest 中缺少默认通知通道元数据

    我在用firebase messaging 5 0 1软件包来实现推送通知 在 IOS 中一切正常 而在 Android 中 当我的移动应用程序在后台运行时 我收到通知 但它没有导航到相应的屏幕 它只是打开默认屏幕 如何实现到该特定屏幕的导
  • 如何在 ADB 连接期间禁用电池充电?

    问题描述 每次我在电脑和手机之间连接 USB 线时 电池都会自动充电 我想使用 ADB 协议 但我不想在 ADB 连接期间为电池充电 是否可以关闭此充电功能 当然 我该怎么做呢 环境 Android 操作系统 4 及更高版本的手机 我只需要
  • 从 arraylist 和 hashmap 中删除重复项

    我有一个数组列表 其中包含付款人的姓名 另一个数组列表包含每次付款的费用 例如 nameArray 尼古拉 劳尔 洛伦佐 劳尔 劳尔 洛伦佐 尼古拉 价格数组 24 12 22 18 5 8 1 我需要将每个人的费用相加 所以数组必须变成
  • 如何在android中压缩和解压png图像

    您好 在我的应用程序中 当我单击 zip 按钮时 我需要压缩图像文件 当我单击解压缩按钮时 我需要解压缩文件 我尝试使用下面的代码来压缩图像 但我的问题是当我单击 zip 按钮时 正在创建 zip 文件 但之后在使用 winzip 软件的系
  • 导入已经创建的sqlite数据库(xamarin)

    我正在使用 Xamarin 想知道如何导入我已经创建的 sqlite 数据库 到目前为止 我已将其添加到资产文件夹中 但不知道下一步从哪里开始 string localPath Path Combine System Environment
  • 如何在 android 中启动“添加联系人”活动

    您能告诉我如何在 Android 中启动 添加联系人 活动吗 谢谢 API 级别 5 及以上解决方案 Add listener so your activity gets called back upon completion of act
  • 如何在 Android TextView 中使用土耳其语字符,如“ş ç ı ö”?

    我想在 android TextView 中写入 ile 但它没有正确绘制 怎样才能使用这样的字符呢 例如 我将文本视图设置为 ile 它显示为 ile 我怎样才能解决这个问题 尝试以下方法 看看是否有帮助 source http grou
  • 如何在活动中的必填字段中显示 * 符号

    我需要在活动中的必填字段中显示 符号 你能建议我怎样才能做到这一点吗 任何帮助 将不胜感激 我想说 作为必填字段的标记不遵循本机 Android 主题 的组合setHint and setError对于 Android 应用程序来说看起来更
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • 当不支持 Google Play 应用内结算 V.3 时

    在 Google Play 的应用内结算 V 3 中 有一个选项可以检查用户设备是否支持它 使用是否支持计费 http developer android com google play billing versions html meth
  • 在选项卡上保存数据

    我有 3 个选项卡 每个选项卡都有一个单独的活动 我想在用户单击任一选项卡上的 保存 时保存数据 有几个选项可供选择 共享首选项 全局变量或将对象保存在上下文中 编辑 我必须保存图像和文本字段 Android 共享首选项 https sta
  • 像 WhatsApp 一样发送图片

    我做了一个聊天应用程序 我想添加照片 文件共享我的应用程序中的概念与 WhatsApp 相同 我已经使用该应用程序制作了Xmpp Openfire目前我正在使用此功能进行照片共享 但它并不完全可靠 public void sendFile
  • android中listview显示数据库中的数据

    我是安卓新手 我想知道如何在列表视图中显示数据库中的数据 它不会向数据库添加数据 我只是显示我们存储在数据库中的任何内容 请帮助我实现这一目标 提前致谢 使用这些课程可能会对您有所帮助 用于数据库创建 package com example
  • 即使 Android M 上的移动数据已打开(有连接),也可以通过 WiFi(无连接)发送请求

    我必须在没有互联网连接的情况下将 UDP 数据包发送到 WiFi 模块 配有自己的 AP 但是当我将手机连接到 AP 时 Android 会在移动数据接口上重定向我的数据包 因为它有互联网连接 我使用下面的代码来完成我的工作 但它似乎不适用
  • Android Gradle 同步失败:无法解析配置“:classpath”的所有工件

    错误如下 Caused by org gradle api internal artifacts ivyservice DefaultLenientConfiguration ArtifactResolveException Could n
  • 在 Nougat 7.1.1 中点击应用程序快捷方式时出现应用程序未安装错误

    我在向现有应用程序添加静态应用程序快捷方式时遇到一些问题 我按照以下步骤操作https developer android com guide topics ui shortcuts html https developer android
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使

随机推荐