简体   繁体   中英

Connect to microsoft graph API

I have created an azure application using the Microsoft azure platform.

using the below script I make an attempt to connect to the API using the credentials given when creating the azure application.

from O365 import Account
credentials = ('azureApp_clientId', 'azureApp_clientSecret')

account = Account(credentials)
if account.authenticate(scopes=['Mail.Read']):
   print('Authenticated!')

When the script runs it returns a URL to add to a browser and give consent..

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?xxxxxxxxxx

When i paste the URL into my browser it does nothing and returns a blank page..

This is my redirect URI in the azure app 在此处输入图片说明

What am I missing??

Docs to o365 Lib here https://pypi.org/project/O365/

Update

from O365 import Account

credentials = ('myclientID')

account = Account(credentials, auth_flow_type = 'public')
if account.authenticate(scopes = ['Mail.Read']):
   print('Authenticated!')
   mailbox = account.mailbox()
   inbox = mailbox.inbox_folder()
   for message in inbox.get_messages():
       print(message)

Update

在此处输入图片说明

According to the configuration of the application azure (you register the application as Mobile and desktop applications), you should use the method Authenticate on behalf of a user (public) to do auth and should not provide client_secret. For more details, please refer to here and here .

For example

from O365 import Account

credentials = ('<your client_id>',)

account = Account(credentials,auth_flow_type='public')
if account.authenticate(scopes==['Mail.Read'] ):
   print('Authenticated!')
   mailbox = account.mailbox()
   inbox = mailbox.inbox_folder()
   for message in inbox.get_messages():
       print(message)

在此处输入图片说明


#Update My configuration 在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM