Ответ 1
Вы можете сделать это, используя разрешения делегированных или приложений. Какой из них вы выбираете, зависит от того, как будет работать ваше приложение, и о потоке гранта OAUTH, который вы используете.
Если ваше приложение работает с интерактивным пользователем (то есть вы сидите перед ним во время его запуска), то вы хотите использовать делегированные разрешения и Протокол выдачи кода авторизации.
Если ваше приложение запускается как служба (т.е. выполняется в фоновом режиме), тогда вы захотите использовать разрешения приложений и Client Grant Flow.
Независимо от выбранной модели разрешений области действия и конечные точки остаются неизменными.
Для доступа к другим пользовательским файлам внутри арендатора вам понадобится одна из следующих областей разрешений: Files.Read.All
, Files.ReadWrite.All
, Sites.Read.All
, Sites.ReadWrite.All
.
Чтобы увидеть другие пользовательские файлы, вам необходимо напрямую обратиться к этому пользовательскому диску. Это делается с помощью пользователя userPrincipalName
. Например, чтобы увидеть файлы в корневом каталоге пользовательского диска, вы должны вызвать:
https://graph.microsoft.com/v1.0/users/{userPrincipalName}/drive/root/children
Надеюсь, это поможет.