gpt4 book ai didi

python - 使用 Python 的 Microsoft Graph API 请求 : "Insufficient privileges to complete the operation" error when making simple call

转载 作者:行者123 更新时间:2023-12-01 08:05:45 25 4
gpt4 key购买 nike

在 Python 中使用 REQUESTS 执行基本 Graph API POST 时收到以下错误响应:

    {
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "36c01b2f-5c5c-438a-bd10-b3ebbc1a17c9",
"date": "2019-04-05T22:39:37"
}
}
}

这是我在 Python 中使用 REQUESTS 的 token 请求和图形请求:

redirect_uri = "https://smartusys.sharepoint.com"
client_id = 'd259015e-****-4e99-****-aaad67057124'
client_secret = '********'
tennant_id = '15792366-ddf0-****-97cb-****'
scope = 'https://graph.microsoft.com/.default'


####GET A TOKEN
payload = "client_id="+client_id+"&scope="+scope+"&client_secret="+client_secret+"&grant_type=client_credentials"
headers = {'content-type':'application/x-www-form-urlencoded'}

tokenResponse = requests.post('https://login.microsoftonline.com/'+tennant_id+'/oauth2/v2.0/token',headers=headers, data=payload)

json_tokenObject = json.loads(tokenResponse.text)
authToken = json_tokenObject['access_token']


#### Make a call to the graph API
graphResponse = requests.get('https://graph.microsoft.com/v1.0/me/',headers={'Authorization':'Bearer '+authToken})
if tokenResponse.status_code != 200:
print('Error code: ' +graphResponse.status_code)
print(graphResponse.text)
exit()

print('Request successfull: Response: ')
print(graphResponse.text)
print('Press any key to continue...')
x=input()

根据此/me 调用的文档 ( https://learn.microsoft.com/en-us/graph/api/resources/users?view=graph-rest-1.0 ),我只需要以下权限之一:

  • User.ReadBasic.All
  • 用户.阅读
  • 用户.ReadWrite
  • 用户.阅读.全部
  • User.ReadWrite.All
  • 目录.读取.全部
  • 目录.ReadWrite.All
  • Directory.AccessAsUser.All

我在天蓝色应用程序管理器中拥有应用程序和委派权限的所有这些。

我在这里做错了什么?我觉得这是一件小事,但我就是无法弄清楚。

我使用以下方式解码了我的 token :http://calebb.net/我没有看到“AUD”或“角色”或“范围”的位置,所以也许这就是我做错的地方?

我到处寻找但找不到解决方案,非常感谢任何帮助。

谢谢。

最佳答案

这听起来好像您忘记了向您的应用程序“授予权限”。

参见this回答。

关于python - 使用 Python 的 Microsoft Graph API 请求 : "Insufficient privileges to complete the operation" error when making simple call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55544306/

25 4 0