Получение пустого массива при запросе элементов списка из Microsoft Graph API - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь использовать Microsoft Graph для доступа к элементам списка 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());
};

, который, я думаю, должен вернуть элементы, содержащиеся в этом списке.list, я получаю ответ с пустым массивом, хотя список не пустой.

Я, вероятно, должен добавить, что для получения токена доступа я использую следующий URL:

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: []
}

1 Ответ

0 голосов
/ 21 октября 2018

Пусто Результаты для https://graph.microsoft.com/beta/sites/{site-id}/lists/{list-id}/items endpoint обычно означают, что необходимые разрешения отсутствуют.Чтобы запросить элементы списка SharePoint, в зависимости от типа списка необходимо указать следующую область разрешений:

  • для SharePoint Список : Sites.Read.All или Sites.ReadWrite.All
  • для SharePoint Библиотека : Files.Read.All или Files.ReadWrite.All
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...