Android上的Microsoft Graph,在检索文件

时间:2018-09-07 13:05:15

标签: java microsoft-graph onedrive

在Microsoft图形资源管理器上,我能够轻松检索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

以为这可能是答案,但是随后发现问题很旧,另一个答案提到它不再正确。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

当图形浏览器(正在运行)使用V1时,似乎我不知道使用V2的示例代码(active-directory-android-native- v2 -master)。

这里有一个很好的“入门”教程,用于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项目