Как определить, имеет ли вызывающий абонент разрешения на редактирование файла OneDrive с помощью MSGraph API

#microsoft-graph-api #onedrive #microsoft-graph-files

#microsoft-graph-api #onedrive #microsoft-graph-files

Вопрос:

Как правильно определить права доступа к файлу в OneDrive при использовании MSGraph API? В частности, как я могу определить, может ли вызывающий абонент редактировать файл?

Я использовал API разрешений list и получаю коллекцию объектов разрешений. В документах указано, что:

Коллекция разрешений содержит потенциально конфиденциальную информацию и может быть доступна не для каждого вызывающего абонента.

  • Для владельца элемента будут возвращены все разрешения на совместное использование. Сюда входят совладельцы.
  • Для вызывающего абонента, не являющегося владельцем, возвращаются только разрешения общего доступа, которые применяются к вызывающему абоненту.
  • Свойства разрешения общего доступа, содержащие секреты (например, ShareID и webUrl), возвращаются только для вызывающих абонентов, которые могут создать разрешение общего доступа.

Я попытался перечислить разрешения для элемента, который был предоставлен вызывающему абоненту, и в список, который я получил, включены grantedTo записи для других пользователей, кроме вызывающего пользователя, несмотря на то, что говорится в документах. На самом деле, grantedTo для пользователя, с которым я звонил, не было указано ни одной записи. В список также включена link запись о разрешении. Могу ли я предположить, что запись относится к вызывающему пользователю?

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

Должен ли я перебирать список и искать grantedBy записи, соответствующие идентификатору текущего пользователя? Должен ли я также посмотреть на роли link записей? Если есть такая запись с write ролью, означает ли это, что я могу загрузить новую версию этого файла?

Комментарии:

1. Вы все еще ищете здесь помощи?

2. @Shiva-MSFTIdentity да, пожалуйста

3. @Shiva-MSFTIdentity у вас есть какая-либо информация, которая может помочь разобраться в этом? Спасибо!