Я выполняю следующие операции в функциональном тесте (используя msgraph-sdk-java, но, похоже, это не имеет никакого отношения к sdk, возможно, тот факт, что я вошел в систему с помощью двух разных методов, но это догадка). Все операции выполняются с первоначально созданным объектом пользователя, и указанный пользователь создан, роль добавлена, проверена, роль удалена, проверена, пользователь удален.
graphServiceClient.users().buildRequest().post(user)
:: Успех :: Токен приложения
graphServiceClient.directoryRoles(roleId).members().references().buildRequest().post(directoryObject)
:: успех :: делегированный токен перми
graphServiceClient.directoryRoles(roleId).members().buildRequest().get()
:: не удается вернуть вышеуказанный объект, если sleep () где-то между 5-40 секундами :: токен приложения perms
graphServiceClient.directoryRoles(roleId).members(objectId).reference().buildRequest().delete()
:: успех :: делегированный токен перми
graphServiceClient.directoryRoles(roleId).members().buildRequest().get()
:: не может вернуть результаты без вышеуказанного объекта, если sleep () где-то между 5-40 секундами :: токен приложения perms
graphServiceClient.users(upnOrId).buildRequest().delete()
:: иногда успешно, иногда с помощью Authorization_RequestDenied :: токен приложения
Есть ли причина для такого поведения? Это потому, что я смешиваю методы авторизации для запросов?