In Azure Active Directory, I have an app that need to use both MicrosoftGraphAPI and SharePointAPI with the following scopes:
GraphAPI scopes:
"https://graph.microsoft.com/User.Read.All",
"https://graph.microsoft.com/Group.Read.All",
"https://graph.microsoft.com/Sites.Read.All",
"https://graph.microsoft.com/Calendars.Read.Shared",
"https://graph.microsoft.com/MailboxSettings.Read",
"https://graph.microsoft.com/Files.Read.All"
SharePointAPI scopes:
"https://microsoft.sharepoint-df.com/AllSites.Read",
"https://microsoft.sharepoint-df.com/AllSites.FullControl",
"https://microsoft.sharepoint-df.com/User.Read.All"
I'm trying to get token for for the app:
from msal import PublicClientApplication
AUTHORITY = 'https://login.microsoftonline.com/common'
scopes = [ "https://microsoft.sharepoint-df.com/AllSites.Read",
"https://microsoft.sharepoint-df.com/AllSites.FullControl",
"https://microsoft.sharepoint-df.com/User.Read.All"
"https://graph.microsoft.com/User.Read.All",
"https://graph.microsoft.com/Group.Read.All",
"https://graph.microsoft.com/Sites.Read.All",
"https://graph.microsoft.com/Calendars.Read.Shared",
"https://graph.microsoft.com/MailboxSettings.Read",
"https://graph.microsoft.com/Files.Read.All"
]
app = PublicClientApplication(client_id, authority=AUTHORITY)
flow = app.initiate_device_flow(scopes=scopes)
But after approving the app in the WebUI, I get the following error:
'error_description': 'AADSTS28000: Provided value for the input parameter scope is not valid
because it contains more than one resource. Scope https://graph.microsoft.com/Calendars.Read.Shared
https://graph.microsoft.com/Files.Read.All https://graph.microsoft.com/Group.Read.All
https://graph.microsoft.com/MailboxSettings.Read https://graph.microsoft.com/Sites.Read.All
https://graph.microsoft.com/User.Read.All https://microsoft.sharepoint-df.com/AllSites.FullControl
https://microsoft.sharepoint-df.com/AllSites.Read https://microsoft.sharepoint-df.com/User.Read.All
offline_access openid profile is not valid'