请求从微软图形API列表项时收到一个空数组(Receiving an empty array whe

2019-09-30 23:13发布

我试图使用Microsoft图表来访问SharePoint列表的项目进行取一个JS应用程序的请求。

当我提出以下要求:

export const getList = access_token => {
  const token = "Bearer " + access_token;

  const url = `${apiUrl}/${siteId}/lists/${listId}`;

  return fetch(url, {
    method: "get",
    headers: {
      Authorization: token,
      Accept: "application/json;odata.metadata=none"
    }
  }).then(res => res.json());
};

我得到的是有关的问题列表的详细信息有效的JSON响应。

然而,当我使用这个请求:

export const getItems = access_token => {
  const url = `${apiUrl}/${siteId}/lists/${listId}/items`;
  const token = "Bearer " + access_token;

  return fetch(url, {
    method: "get",
    headers: {
      Authorization: token,
      Accept: "application/json;odata.metadata=none"
    }
  }).then(res => res.json());
};

我认为这是应该返回包含在该列表中的项目,我得到一个空数组的响应,虽然名单不为空。

我也许应该补充一点,我使用以下网址获得访问令牌:

const tokenUrl = `https://login.microsoftonline.com/${siteURL}/oauth2/v2.0/token`

我缺少的东西吗?

编辑:发出请求时添加收到的答复

当得到的URL列表的信息:

const url = `${apiUrl}/${siteId}/lists/${listId}`;

响应是下列对象:

{
    createdBy: {user: {…}}
    createdDateTime: "2018-09-13T04:01:11Z"
    description: ""
    displayName: "Pessoa"
    eTag ""70c738b2-d857-4431-a079-bcc0c60efbe4,16""
    id: "70c738b2-d857-4431-a079-bcc0c60efbe4"
    lastModifiedDateTime: "2018-09-13T04:08:47Z"
    list: {contentTypesEnabled: false, hidden: false, template: "genericList"}
    name: "Pessoa"
    parentReference: {}
    webUrl: "https://incubadorahabits.sharepoint.com/sites/PlataformaTecnologica/Lists/Pessoa"
}

当试图获得与URL列表项:

const url = `${apiUrl}/${siteId}/lists/${listId}/items`;

响应是:

{
    value: []
}

Answer 1:

结果https://graph.microsoft.com/beta/sites/{site-id}/lists/{list-id}/items endpoint通常意味着所需的权限丢失。 要查询SharePoint列表项,根据列表类型,需要指定以下权限范围:

  • 为SharePoint 列表Sites.Read.AllSites.ReadWrite.All
  • 为SharePoint Files.Read.AllFiles.ReadWrite.All


文章来源: Receiving an empty array when requesting list items from Microsoft Graph API