Есть ли способ получить сайты sharepoint, к которым у определенного пользователя тоже есть доступ? - PullRequest
0 голосов
/ 10 апреля 2019

Я создаю приложение, которое позволит пользователям сканировать документы на принтере и загружать документ прямо в Sharepoint. Я настроил приложение в Azure и использую учетные данные администратора, и я предоставил доступ к приложению, чтобы разрешить его чтение и запись в Sharepoint.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я запрашиваю список сайтов в Sharepoint через MS Graph API, я получаю список всех сайтов в корне, и мне было интересно, есть ли способ, которым я могу отфильтровать это перечислить только те, которые доступны конкретному пользователю?

Я могу получить токен доступа со следующим кодом:

var cca = new ConfidentialClientApplication(appId, string.Format("https://login.microsoftonline.com/{0}/v2.0", tenantId), redirectUri, new ClientCredential(appSecret), null, appTokenCache.GetMsalCacheInstance());
var authResult = await cca.AcquireTokenForClientAsync(new[] { "https://graph.microsoft.com/.default" });
return authResult.AccessToken;

Этот код работает нормально, и я могу использовать этот токен доступа для создания клиента для доступа к графику. Затем я использую следующий код для получения сайтов:

var sites = await graphClient.Sites["Root"].Sites.Request().GetAsync();

Эта строка также работает и возвращает подсайты в Root. Но он возвращает все сайты, поэтому мне нужно каким-то образом отфильтровать этот список, чтобы он возвращал их только тем пользователям, которые используют приложение.

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