Microsoft Graph / me不适用于个人帐户

时间:2019-09-26 10:03:48

标签: java android microsoft-graph

我正在开发OneDrive API,尽管对于开发人员帐户而言,它能够获取用户详细信息,但是尝试通过个人帐户或其他帐户(而不是开发人员帐户)登录时,却得到以下响应:

protocol=http/1.1, 
code=401, 
message=Unauthorized, 
url=https://graph.microsoft.com/v1.0/me

我已经在Azure开发人员控制台中授予了所有“应用程序”以及“委派”权限。

在Azure开发人员控制台中设置的权限: Permissions

com.squareup.okhttp.Request request = new com.squareup.okhttp.Request.Builder() 
  .url("graph.microsoft.com/v1.0/me") 
  .addHeader("Authorization", "Bearer " + accessToken) 
  .build(); 
try {   
   response = okHttpClient.newCall(request).execute(); 
   Log.e(LOG_TAG, response.toString()); // Do something with the response. 
} 
catch (IOException e) { 
  e.printStackTrace(); 
} 
return response; 

1 个答案:

答案 0 :(得分:1)

我们有一个很好的快速入门,这里有30分钟的教程,对于理解权限方面和委托的身份验证很有帮助

https://developer.microsoft.com/en-us/graph/get-started/android

对于用户委派的流程,您不需要那里已同意的应用程序权限。要对/ me进行身份验证,您仅需要根据文档User.Read https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http

您可以使用https://jwt.ms/并使用访问令牌来验证范围也在令牌中。