我正试图为注册的Azure AD-App获取一个Bearer令牌,以便通过API读取我的所有sharepoint站点。
我遵循从微软到a) 授予应用程序的权限和b 给自己买个记号的指南
因此,我现在( a)拥有所有必需的权限:

和b)在使用作用域https://graph.microsoft.com/.default时接收到令牌
因此,我的问题是:当我试图得到一个令牌,让我们说https://microsoft.sharepoint-df.com/Sites.Read.All
https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
Body:x-www-form-urlencoded
client_id={appId}
scope=https://microsoft.sharepoint-df.com/Sites.Read.All
client_secret={secret},
grant_type=client_credentials我得到的回报就是一个错误:
"error": "invalid_scope",
"error_description": "AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope https://microsoft.sharepoint-df.com/Sites.ReadWrite.All is not valid.\r\nTrace ID: ...\r\nCorrelation ID: ...\r\nTimestamp: 2019-06-09 07:35:21Z",
"error_codes": [
70011
],我做错了什么吗?我还尝试了范围https://{{tenantName}}.sharepoint.com/Sites.Read.All
发布于 2019-06-10 01:28:09
您正在使用客户端凭据流来获取访问令牌。范围必须是
https://graph.microsoft.com/.default在此请求中为scope参数传递的值应该是您想要的资源的资源标识符(应用程序ID URI),该标识符带有.default后缀。对于MicrosoftGraph示例,值为https://graph.microsoft.com/.default。此值告诉Microsoft identity platform终结点,在为应用程序配置的所有直接应用程序权限中,端点应该为与要使用的资源相关联的应用程序发出令牌。
如果必须使用特定的作用域(如https://microsoft.sharepoint-df.com/Sites.Read.All ),则可以使用auth码授予流来获取访问令牌。
https://stackoverflow.com/questions/56512878
复制相似问题