Доступ к Microsoft Graph API для данных Excel по запросу AJAX - PullRequest
0 голосов
/ 31 января 2020
function requestToken() {
        $.ajax({
            "async": true,
            "crossDomain": true,
            "url": endpointUrl, // Pass your tenant name instead of sharepointtechie
            "method": "POST",
            "headers": {
                "content-type": "application/x-www-form-urlencoded"
            },
            "data": {
                "grant_type": "password",
                "client_id ": clientId, //Provide your app id
                "client_secret": clientSecret,
                "scope ": "https://graph.microsoft.com/.default",
                "userName": "xxxxxxxxx",
                "password": "xxxxxxxx",
                "redirect_uri" : "xxxxxxx"
            },
            success: function (response) {
                console.log(response);
                token = response.access_token;



                  $.ajax({
                      url: 'xxxxxx',
                      type: 'GET',
                      dataType: 'json',
                      beforeSend: function (xhr) {
                          xhr.setRequestHeader('Authorization', 'Bearer ' + token + '');
                      },
                      data: {},
                      success: function (results) {
                          console.log(results);
                          debugger;
                      },
                      error: function (error) {
                          console.log("Error in getting data: " + error);
                      }
                  });
            }

        })
    }

Я собираюсь сделать запрос к MS Graph Api, чтобы получить данные о ячейках и строках из таблицы Excel, размещенной на OneDrive.

Это все хорошо, но мне было интересно, что будет лучшим способом решения этой проблемы.

Я могу написать запрос AJAX, используя идентификатор клиента и секретный ключ клиента для проверки подлинности использования, однако это затем предоставит эти учетные данные браузеру клиентов.

Как я могу сделать запрос к API, но сохранить учетные данные приложения в безопасности.

Ура, Джо sh

1 Ответ

0 голосов
/ 31 января 2020

Клиентские запросы от браузера не будут использовать секрет клиента, а вместо этого будут использовать поток неявного предоставления . Вы можете прочитать все подробности о том, как этот поток работает в этой ссылке.

MSAL. js позволяет легко реализовать это, и у них есть несколько примеров в своем хранилище.

...