2016-02-04 2 views
3

Попытка получить все группы Office 365, членом которых является пользователь.
Я зарегистрировал «Нативное клиентское приложение» на Azure и выбрал только одно разрешение: «Читать все группы» в области «График Microsoft».Невозможно получить группы Office 365 Я являюсь членом via Graph API

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

Если у пользователя есть права администратора или если я зарегистрирую другое приложение у второго арендатора, я смог пройти шаг согласия, а также получить список групп.

BTW, зарегистрировав «веб-приложение» и выбрав «Да» в опции Multi-tenant, тоже не помогло.

Кто-нибудь знает, требует ли администрация «Group.Read.All»? Согласно this это не так.
Я также пытался выполнить этот запрос https://graph.microsoft.com/v1.0/me/memberOf/$/microsoft.graph.group?$filter=groupTypes/any(a:a%20eq%20'unified'), как упоминалось here в разделе «Объединенные группы GET Я член», но не повезло.

Другой вопрос, есть ли способ настроить приложение Native как приложение с несколькими арендаторами?

ответ

0

Ответ от того, что вы говорите: не попал на шаг согласия, и вы только что выбрали читать все группы недостаточно. Вы должны выбрать знак в разрешениях пользователей, а также в графике api.

Надеюсь, это поможет.

+0

Я попытался добавить разрешение «Войдите в систему и прочитать профиль пользователя», но получил те же результаты ... –

0

У вас есть несколько вопросов здесь, поэтому я постараюсь помочь. Дайте мне знать, если я что-то пропустил или вам нужно больше разъяснений.

Собственные приложения в Azure AD являются носителями с несколькими арендаторами по своей природе, поэтому нет необходимости устанавливать переключатель multi-tenant, как в случае с веб-приложениями.

Group.ReadAll требует согласия администратора. Я нашел следующую страницу очень полезной, поскольку я пытаюсь определить разрешения, необходимые для моих приложений: http://graph.microsoft.io/en-us/docs/authorization/permission_scopes.

Во время разработки мне иногда нужно было обновить разрешения для моего приложения. Всякий раз, когда разрешения обновляются, я нашел полезным перейти на http://myapps.microsoft.com, чтобы отозвать согласие для моего приложения. Затем, в следующий раз, когда я войду в приложение, мне всегда будет предложено содержимое, чтобы я мог четко видеть, что будут видеть пользователи.

+0

Чем вы для информационного ответа Дуга, тем не менее я не смог найти информацию о потоке полномочий администратора для собственных приложений. –

+0

Административное согласие отличается от согласия пользователя. Что происходит в этом случае, ваше приложение должно отправить 'prompt = admin_consent' с помощью перенаправления/HTTP-доступа к'/common/oauth2/authorize'. Вот подробное сообщение в блоге о согласии с администратором. http://blog.mastykarz.nl/implementing-admin-consent-multitenant-office-365-applications-implicit-oauth-flow/ По существу, что произойдет, как только администрация согласится, стандартным пользователям не будет предложено согласиться , –

+0

Действительно, когда я использую 'prompt = admin_consent' с перенаправлением, я смог дать согласие в качестве администратора и не получил приглашение в качестве обычного пользователя. Я сделал все это с помощью веб-приложения, которое я зарегистрировал в Azure, - знаете ли вы, есть ли способ достичь этого через приложение Native? –

 Смежные вопросы

  • Нет связанных вопросов^_^