我有一个使用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吗?感谢帮助!
答案 0 :(得分:0)
当使用的令牌无效时,会发生此错误。如果要获取登录的用户信息,可以在here处请求API。
请不要忘记授予管理员对此权限的同意,请检查here。
更新
对于Azure b2c用户,当前无法调用Graph API。https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/526