首页 > 解决方案 > Android , 如何访问 SharePoint 数据?

问题描述

基本上,在阅读了微软提供的文件后,我想要公司 Sharepoint 中的文件。通过使用 Microsoft Graph 身份验证 API,我可以authenticationResult.accessToken按照此示例接收https://github.com/AzureAD/microsoft-authentication-library-for-android

之后我要求https://graph.microsoft.com/v1.0/sites/{Mycompany}.sharepoint.com/drives/{Drives ID}/list/items

响应是该驱动器中的所有项目。

我想通过添加项目 ID 来获取要在我的应用程序中显示的特定文件

https://graph.microsoft.com/v1.0/sites/{Mycompany}.sharepoint.com/drives/{Drives ID}/list/items/{Item ID}

我收到了这个错误

  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "Access token is empty.",
    "innerError": {
      "date": "2021-02-03T04:57:08",
      "request-id": "65b170a7-b864-470e-a1e5-23be9851dd7a",
      "client-request-id": "65b170a7-b864-470e-a1e5-23be9851dd7a"
    }
  }
}

在阅读了一些文档以找出它有什么问题后,我开始对它感到困惑。一些https://{{tenantName}}.sharepoint.com/Sites.Read.All不使用 Graph API 示例的文档(https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/get-to-know-the-sharepoint-rest-service?tabs=csom ) 但这对我不起作用。你们能指导我这是如何工作的吗?以及如何在 Sharepoint 中接收文件夹和文档

请注意 ,我不是 Android 专家,也不是这类东西的新手。

谢谢你

标签: androidazuresharepointmicrosoft-graph-api

解决方案


上述错误是因为调用 Graph API 调用时没有访问令牌。确保您通过 HTTP 调用在 Authorization 参数中传递具有访问令牌的标头。正如@Dev 所建议的,您还可以签入https://jwt.ms并查看访问令牌声明。您也可以尝试以下 HTTP 调用。

https://graph.microsoft.com/v1.0/sites/{siteid}/lists/{listid}/items/{itemid}

Graph Explorer中,您可以找到不同之处。


推荐阅读