以下代码失败并显示“InvalidAuthenticationToken”
{"error":{"code":"InvalidAuthenticationToken","message":"Access token validation failure. Invalid audience."
我确定我已在天蓝色广告中正确注册应用程序。
import urllib.parse
import requests
from requests_toolbelt.utils.dump import dump_all
tenant_id = "..."
client_secret = "..."
client_id = ".."
scope = "api://<guidfromzurehere/.default"
url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
data = {
"client_id": client_id,
"scope": scope,
"client_secret": client_secret,
"grant_type": "client_credentials"
}
r = requests.post(url, data=data, headers={"Content-Type": "application/x-www-form-urlencoded"})
print(dump_all(r).decode('utf8'))
print(r.json()['access_token'])
url = "https://graph.microsoft.com/v1.0/users/myemailaddress/onenote/notebooks"
headers = {"Authorization": "Bearer " + r.json()['access_token']}
r = requests.get(url, headers=headers)
print(dump_all(r).decode('utf8'))
我的范围错误吗? 我尝试了“https://graph.microsoft.com/.default”的范围,但出现许可证错误。有建议吗?