Как сделать вызов REST, чтобы получить элементы списка с разных сайтов, используя TypeScript, что-то вроде Promises? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь получить элементы списка с 2 разных сайтов и предпринимаю некоторые действия только после того, как все данные получены. Я думал об использовании чего-то вроде .then () и Promises.

Я использую SharePoint Framework, это расширение Modern SharePoint, а не веб-часть. Я пытался использовать пакетирование , но это относится только к одному сайту SharePoint.

Спасибо всем за помощь !!

William

let web = new Web("https://test.sharepoint.com/test2");
let batch = web.createBatch();

web.lists.inBatch(batch).usingCaching().get().then((r: any) => {
});

web.lists.getByTitle("SharePoint Directory").items.usingCaching().inBatch(batch).top(5000).get().then((r: any) => {
});

batch.execute().then(() => {
  console.log("Data retrieved.");
});

1 Ответ

0 голосов
/ 24 апреля 2019

Пример тестового скрипта для вызова rest api для доступа к другому сайту. (Жесткий код URL сайта, вы можете создать динамически, пользователю также необходимо разрешение для другого сайта)

this.context.spHttpClient.get(`https://tenant.sharepoint.com/sites/lee/_api/web/lists/getbytitle('MyList2')/items`,
      SPHttpClient.configurations.v1,
      {
      headers: {
      'Accept': 'application/json;odata=nometadata',
      'Content-type': 'application/json;odata=verbose',
      'odata-version': ''
      }
      })
      .then((response: SPHttpClientResponse) => {
        response.json().then((data)=>{
          console.log(data);
        })

      });
...