Инсайты/общие возвращают 403, в то время как инсайты/используемые возвращают успешный ответ

Я использую Graph Explorer для проверки.

API: GET /users/{userPrincipalName}/insights/shared, вернуть 403.

API: GET /users/{userPrincipalName}/insights/used, вернуть 200 и использованные документы.

Оба API требуют одинакового разрешения: Sites.Read.All, Sites.ReadWrite.All

Кто-нибудь может помочь в этом?

Используйте jwt.ms для анализа вашего токена доступа и предоставления скриншотов.

Carl Zhao 23.12.2020 10:41
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
89
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы звоните GET /users/{id | userPrincipalName}/insights/shared, убедитесь, что у вас есть Sites.Read.All или Sites.ReadWrite.All application permissions (не забудьте предоставить согласие администратора на это разрешение), потому что ни один пользователь не войдет в систему на конечной точке /users. Затем вам нужно использовать поток учетных данных клиента, чтобы получить токен доступа.


Обновлять:

Когда вы используете Graph Explorer для тестирования, поскольку вам нужно войти в систему как пользователь, вы фактически используете токен, полученный потоком userName/Password. согласно документу : Только пользователь может делать запросы, используя идентификатор пользователя или имя участника.

Когда вы входите в систему пользователя, вы можете использовать только идентификатор или основное имя вошедшего в систему пользователя. Нельзя использовать id других пользователей, иначе будет сообщено об ошибке 403. Но когда вы используете другие инструменты, такие как почтальон для тестирования, поскольку вы не входите в систему как пользователь, а используете приложение в качестве субъекта-службы для выполнения запроса, вы можете получить список общих документов от других пользователей.

Подводя итог в одном предложении: пока вы вошли в систему как пользователь, вы можете получить только список общих документов вошедшего в систему пользователя. Если вы хотите получить список общих документов от других пользователей, не выполняйте вход пользователей.

Если мой ответ полезен для вас, вы можете принять его как ответ (нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный). Это может быть полезно для других членов сообщества. Спасибо.

Carl Zhao 23.12.2020 11:31

/insights/shared и /insights/used имеют одинаковое разрешение, /insights/used работает, а /insights/shared нет. Так что это не проблема разрешения здесь. Я использую Graph Explorer для проверки.

King Cao 24.12.2020 03:26

@KingCao Вам необходимо предоставить разрешения для приложения, а затем использовать почтальона для тестирования. Я только что использовал Graph Explorer для тестирования, и он также вернул мне 403, потому что Graph Explorer по умолчанию использует делегированные разрешения.

Carl Zhao 24.12.2020 04:13

интересно то, что я могу получить информацию/использовать через Graph Explorer, у информации/использования есть те же разрешения, что и у информации/общего доступа в соответствии с learn.microsoft.com/en-us/graph/api/resources/…

King Cao 24.12.2020 06:43

@KingCao Я обновил ответ, чтобы дать вам подробное объяснение.

Carl Zhao 24.12.2020 07:32

Другие вопросы по теме