在microsoft graph explorer上,我能够轻松检索excel文件,但在尝试“active-directory-android-native-v2-master”示例代码时,它返回404。
另一方面,下一行工作并正确检索我的信息
final static String MSGRAPH_URL = "https://graph.microsoft.com/v1.0/me";
我添加了所有必需的权限,获取了客户端ID,运行所有示例指令,阅读文档+堆栈溢出。
我认为可能是因为链接编码不正确所以我修改了callGraphAPI()方法以包含:
Uri.Builder builder = new Uri.Builder();
builder.
scheme("https").
authority("graph.microsoft.com").
appendPath("v1.0").
appendPath("drives").
appendPath(MY_DRIVE).
appendPath("items").
appendPath(FILE_ID).
appendPath("workbook");
String url = builder.build().toString();
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,url/*MSGRAPH_URL*/,
parameters,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
但仍然是相同的回应。
我遇到了下一个堆栈溢出的答案
404 file not found error when using microsoft graph api
并认为它可能是答案,但后来看到问题是旧的,另一个答案提到它不再正确。
感谢任何帮助。
似乎我不知道使用V2的示例代码(active-directory-android-native-v2-master),而图形浏览器(正在工作)使用V1。
这里有一个很棒的“入门”教程,用于V1示例代码(active-directory-android-master):
https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-android
示例代码似乎仅与V1完全相同。
使用本教程时,我需要找到我尝试使用的命令所需的权限,以及本教程中提到的命令。
我使用下一个链接来获取项目的权限:
https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/shares_get
我还添加了Graph Exlorer中提到的权限,因为如上所述,我试图使用的命令在那里工作。
由于Azure站点的权限编写不一样(例如Files.Read写为“读取用户文件”),我使用下一个链接进行翻译:
https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference
幸运的是,我不需要使用任何管理员权限,这会使注册到应用程序变得复杂
希望这有助于像我这样挣扎的新手:)
如果我写的不正确或你认为我应该添加一些东西,请在下面的评论告诉我,我会尝试更新
顺便说一句 - 我使用Graph Exlorer来检测我需要的文件和驱动器ID项目