Я купил MS Office, и они дают мне место на onedrive. Теперь я хочу работать с этим через API MS Graph в моем python консольном приложении (раньше я использовал python onedrivesdk, но теперь говорят, что он устарел).
I зарегистрировали приложение и можете видеть его через Azure AD на портале. azure .com.
В настоящее время я пытаюсь взаимодействовать с моим onedrive следующим образом:
tenant_id = 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx'
authority = f'https://login.microsoftonline.com/{tenant_id}'
scope = 'https://graph.microsoft.com/.default'
app = msal.ConfidentialClientApplication(self.client_id, authority=authority, client_credential=self.client_secret)
result = app.acquire_token_silent(["https://graph.microsoft.com/.default"], account=None)
if not result:
logging.info("No suitable token exists in cache. Let's get a new one from AAD.")
result = app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"])
authToken = result['access_token']
#### Make a call to the graph API
graphResponse = requests.get('https://graph.microsoft.com/beta/me/drive',headers={'Authorization':f'Bearer {authToken}'})
if graphResponse.status_code != 200:
print('Error code: ', graphResponse.status_code)
print(graphResponse.text)
Я успешно получаю токен доступа, но когда я пытаюсь позвонить / me / drive
, я получаю status_code = 400 с
Текущий аутентифицированный контекст недопустим для этого запроса. Это происходит, когда запрос сделан к конечной точке, которая требует входа пользователя. Например, для / me требуется зарегистрированный пользователь. Получите токен от имени пользователя для отправки запросов к этим конечным точкам. Используйте поток кода авторизации OAuth 2.0 для мобильных и собственных приложений и неявный поток OAuth 2.0 для одностраничных веб-приложений
Я добавил разрешения для приложения на портале через "API Разрешение -> Добавить разрешение ", но я не могу дать согласие администратора (В другой учетной записи ms у меня есть полноценная подписка azure, где я являюсь администратором), потому что я не администратор. Но кто является администратором этой учетной записи, которой назначен мой офис MS?