调用Microsoft Graph API来获取Azure AD B2C中的用户

时间:2020-06-17 06:22:15

标签: azure-active-directory microsoft-graph-api azure-ad-b2c

我有一个使用Azure AD B2C的android应用程序。用户可以使用本地帐户/电子邮件进行注册。用户登录到android应用程序后,我尝试调用Microsoft Graph API以获取已登录用户的详细信息(特别是用户的Graph API UPN,这与Azure广告B2C中的UPN不同)。 / p>

我要进行的API调用是:https://graph.microsoft.com/v1.0/me 我添加了用户登录时收到的承载身份验证令牌。

但是,我收到以下错误:

Sub Insert_Daily_Report()

Dim OpenBook As Workbook
Dim Report As Workbook
Dim FileToOpen As Variant

Set Report = ThisWorkbook
FileToOpen = Application.GetOpenFilename(Title:="Insert the daily report", FileFilter:="Excel Files 
(*.xlsm*), *xlsm*")

If FileToOpen <> False Then

Set OpenBook = Application.Workbooks.Open(FileToOpen)
OpenBook.Sheets("Daily_Sheet1").Range("E4:AB4").Copy
Set Report = ActiveWorkbook
ThisWorkbook.Worksheets("Monthly_Sheet1").Activate
ActiveSheet.Range("E4").Select
ActiveSheet.PasteSpecial Link:=True

Set OpenBook = ActiveWorkbook
OpenBook.Sheets("Daily_Sheet1").Range("E10:AB10").Copy
Set Report = ActiveWorkbook
ThisWorkbook.Worksheets("Monthly_Sheet1").Activate
ActiveSheet.Range("E39").Select
ActiveSheet.PasteSpecial Link:=True

OpenBook.Close False
End If

End Sub

您知道如何获取用户的Graph API UPN吗?感谢帮助!

1 个答案:

答案 0 :(得分:0)

当使用的令牌无效时,会发生此错误。如果要获取登录的用户信息,可以在here处请求API。

enter image description here

请不要忘记授予管理员对此权限的同意,请检查here

更新

对于Azure b2c用户,当前无法调用Graph API。https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/526