Надстройка Outlook Resti токен для получения SharePoint Rest Api токен - PullRequest
0 голосов
/ 27 сентября 2018

Я создаю надстройку Outlook с помощью Node JS, и ей нужно получать информацию из SharePoint Online с использованием SharePoint Rest Api, поскольку в Graph нет возможности получить необходимую информацию.

Вопрос? Мне нужен онлайновый токен авторизации SharePoint для вызова SP Rest Api, который я получаю, используя поток OAuth (неявный поток) после ввода учетных данных пользователем.

Есть ли способ получить токен аутентификации SharePoint онлайн, используяOutlook Rest Api, возвращенный getCallbackTokenAsync () или getUserIdentityTokenAsync () или методом "getAccessTokenAsync ()"?

1 Ответ

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

если вам нужен только токен API REST SharePoint (я полагаю, вы имеете в виду тот, у которого URL начинаются с _api / [...]), тогда лучше всего получить этот токен из конечной точки / _api / contextinfo для вашего сайта.,Вам не нужен Outlook REST API для этого, если я правильно понял вопрос.Поэтому вам нужно создать запрос POST для:

http://yourspsite/_api/contextinfo
Headers:
accept: application/json
content-type: application/json

Получить значение токена из возвращенного JSON: например, jsonResponse.FormDigestValue Поле FormDigestValue содержит требуемое значение.

Вот и все, надеюсь это поможет.Приветствия, Разван

ОБНОВЛЕНИЕ, касающееся NodeJS в надстройке Outlook:

Как вы правильно заметили, я исключил требование получения токена из самого надстройки.В настоящее время это возможно только из надстроек SSO (превью).Чтобы получить токен Azure AD V2, используйте следующую ссылку, чтобы узнать, как его реализовать, и используйте getAccessTokenAsync: https://docs.microsoft.com/de-de/office/dev/add-ins/develop/sso-in-office-add-ins

Убедитесь, что вы заранее создали приложение AzureAD V2, используя https://apps.dev.microsoft.com

GiveВ приложении необходимые разрешения для работы, например Sites.Read.All для чтения элементов во всех семействах сайтов.

Ресурс для токена должен выглядеть следующим образом:

 https://[yourtenant].sharepointonline.com/

Предостережение: для создания надстройки единого входа вам необходимо быть частью программы Office Insider по адресу: https://products.office.com/de-DE/office-insider- требуется регистрация.

Наконец: используйте токен для вызова обычного API REST SharePoint, он должен принять его, если вы придерживаетесь операций в рамках разрешений, установленных в приложении Azure выше.

...