MS Graph API и DriveItem не работают с потоком учетных данных клиента - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь вызвать конечную точку поиска API OneDrive на диске (т. Е. https://graph.microsoft.com/v1.0/drives/{drive-id}/root/search(q='mysearchterm'). Это отлично работает в Graph Explorer, однако я не получаю никаких результатов поиска с потоком учетных данных клиента на том же диске.

Моя регистрация приложения имеет все необходимые разрешения приложения, указанные в документации API (Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All), и чтение дисков, их элементов, загрузка элементов диска - все работает нормально. Единственное, что не работает, это поиск по элементам диска. Я просто возвращаю пустой массив без ошибок;

{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)","value":[]}

Я использую adal-node с acquireTokenWithClientCredentials.

var adal = require("adal-node");

const TENANT = "{tenant-name-here}.onmicrosoft.com";
const CLIENT_ID = "{Application-id-here}";
const CLIENT_SECRET = "{Application-key-here}";

function getToken() {
  return new Promise((resolve, reject) => {
    const authContext = new adal.AuthenticationContext(
      `https://login.microsoftonline.com/${TENANT}`
    );

    authContext.acquireTokenWithClientCredentials(
      GRAPH_URL,
      CLIENT_ID,
      CLIENT_SECRET,
      (err, tokenRes) => {
        if (err) {
          reject(err);
        }
        resolve(tokenRes.accessToken);
      }
    );
  });
}

Диск, на котором я ищу, - это библиотека документов SharePoint.

1 Ответ

0 голосов
/ 10 сентября 2018

Важный совет : поток учетных данных клиента должен зарегистрировать приложение на портале управления Azure , но не Портал регистрации заявок . Graph Explorer в основном основан на более поздней версии, поэтому у них другой бэкэнд-код, теперь это нормально. Может быть, они будут делать ту же логику в будущем.

Мы настоятельно рекомендуем использовать Microsoft Graph вместо API Azure AD Graph для доступа к ресурсам Azure Active Directory. В настоящее время наши усилия по разработке сосредоточены на Microsoft Graph, и дальнейших улучшений API Azure AD Graph не планируется. Существует очень ограниченное число сценариев, для которых API графика Azure AD все еще может быть подходящим; дополнительную информацию см. в статье Microsoft Graph или в блоге Azure AD Graph в Центре разработки Office.

adal-node - это не то же самое, что Graph, поэтому вы получите результат в графическом обозревателе, но не в продукте NodeJS. Мы предлагаем вам использовать последнюю версию Graph API.

Официальные документы: https://docs.microsoft.com/en-us/javascript/api/overview/azure/activedirectory?view=azure-node-latest

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...