当前位置: 首页 > 知识库问答 >
问题:

从Azure B2C访问Microsoft Graph API

陶健
2023-03-14

我有一个Azure广告B2C租户,有一个正在运行的应用程序。它被配置为仅使用Azure AD和Microsoft帐户登录。此应用程序由App Center Auth使用。

// Sign-in succeeded, UserInformation is not null.
var userInfo = await Auth.SignInAsync();

// Get tokens. They are not null.
var idToken = userInfo.IdToken;
var accessToken = userInfo.AccessToken;
var graphAPIEndpoint = "https://graph.microsoft.com/v1.0/me";
var scopes = new[] { "user.read" };

var client = new HttpClient();

var request = new HttpRequestMessage(HttpMethod.Get, graphAPIEndpoint + "/photo/$value");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
var response = await client.SendAsync(request);
var image = await response.Content.ReadAsByteArrayAsync();

UserImage.Source = ImageSource.FromStream(() => new MemoryStream(image));

共有1个答案

阙阳
2023-03-14

就像@juunas所说的,从今天起,你需要使用AAD Graph API来访问Azure AD B2C租户,这与微软的Graph API是不同的。

下面是有关此内容的文档:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

 类似资料:
  • 问题内容: 我需要一个允许我使用Java在Gmail中进行电子邮件操作(例如,发送/接收邮件)的库。 问题答案: 您是否看到过Java的g4j-GMail API? GMailer Java版API(g4j)是一组API,允许Java程序员与GMail进行通信。借助G4J,程序员可以制作基于GMail大量存储的基于Java的应用程序。

  • 问题内容: 我被困在一个相当复杂的Python模块中,该模块不会返回有用的错误代码(它实际上会无声地失败而失败)。但是,它调用的基础C库设置了errno。 通常,errno是通过OSError属性传入的,但是由于我没有异常,因此无法理解。 使用ctypes时,libc.errno不起作用,因为errno是GNU libc中的宏。Python 2.6有一些优势,但Debian仍使用Python 2.

  • 问题内容: 您如何从Java 访问? 最后一行使编译器死于“ scala类型。None不带参数”。 由于“找不到符号构造函数None()”而失败: 由于“找不到符号变量无”而失败: 在2007年,这曾经奏效,但后来Scala改变了。Java编译器提供: 问题答案: 这可能起作用: def apply [A](x:A):Option [A] 一个Option工厂,如果参数不为null,则创建Some

  • 问题内容: 我在访问SimpleXML对象的部分时遇到问题。当我整个对象时,我得到正确的输出,而当我其余对象(嵌套标签)时,我得到正确的输出,但是当我遵循docs和时 ,我得到一个空对象,尽管事实是第一个清楚地表明,存在要输出的属性。 任何人都知道我在这里做错了/如何进行这项工作? 问题答案: 您可以通过在XML节点上调用attribute()函数来获取XML元素的属性。然后,您可以var_dum

  • 目前正在尝试从JAVA访问类型库文件,我尝试了以下操作并出现了相应的错误: 1- Com2Java:每次尝试连接到我的应用程序时,我都会收到此错误: 默认情况下,在客户端版本的Windows上不启用小型转储 2- Com4j:它只产生接口,无法理解如何使用它们(我找不到任何类,只有接口) 3-经过小搜索,发现了Visual J,但无法下载它,因为它被剥夺了。 任何人都可以提供建议吗? 非常感谢。

  • 问题内容: 我有一个要求,即只能从本地主机访问mysql数据库。我必须实现一个可以访问数据库的servlet,以允许该系统中的其他服务器访问数据(servlet可以充当代理)。但是,此系统由一个远程服务器组成,该服务器下载执行以下语句的大部分数据: 有人可以建议我如何编写一个以有效方式流式传输此类数据的servlet吗(我是数据库新手)? 问题答案: 首先,我不建议为此使用servlet。有关正确

  • 问题内容: 因此,我有一个用于列表视图的onItemLongClickListener,该列表视图传递了一个参数“ int位置”。在内部,我有一个带有两个按钮的alertDialogBu​​ilder。我还有另一个按钮的onclickListener。我需要从第二个侦听器内部访问该位置。反正有没有做到这一点而不使其成为全球性的呢? 谢谢你的帮助。 问题答案: 在Java中,只有先将内部变量声明为,

  • 问题内容: 我有一个UIAlertController,当用户在TouchID屏幕上选择“输入密码”时,系统会提示用户。在屏幕上显示此内容后,如何恢复用户的输入? 我知道“确定”按钮可能应该有一个处理程序,但是现在此代码实际上并没有执行任何操作,但是我想通过println显示文本字段的输出。对于我来说,这实际上只是一个测试应用程序,用于学习Swift和一些新的API知识。 问题答案: 我知道已经发