@joy-wang 的出色回答让我走上了正轨,但仍然需要几个小时才能做到正确。
- 不再使用 /beta/,使用 1.0
- permissionIds 现在称为 delegatedPermissionIds
- 现在标题的规范似乎不同了。当指定为 Joy 时,我得到 [1]
- 与乔伊所说的相呼应,是的,您需要非常小心引用。在意识到我需要在正文中使用双引号并在值内部使用单引号之前,我对错误的事情做了很多实验,反之则给出了错误 [2]
以下工作:
$permsJson = az ad sp show --id $apiApplicationId --query 'oauth2Permissions[].{Value:value, Id:id, UserConsentDisplayName:userConsentDisplayName}' -o json
$permsHash = $permsJson | ConvertFrom-Json
$permId = $permsHash.Id #in my case that app only had one permission, you may need to do differently
$apiObjectId = az ad app show --id $apiApplicationId --query objectId
az rest `
--method PATCH `
--uri "https://graph.microsoft.com/v1.0/applications/$apiObjectId" `
--headers 'Content-Type=application/json' `
--body "{api:{preAuthorizedApplications:[{appId:'$preAuthedAppApplicationId',delegatedPermissionIds:['$permId']}]}}"
[1] 命令因意外错误而失败。这是回溯:没有足够的值来解包(预期 2,得到 1)回溯(最近一次调用最后):文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\ azure/cli/core/util.py”,第 510 行,shell_safe_json_parse 文件“json_init _.py ”,第 367 行,加载文件“json\decoder.py”,第 339 行,解码文件“json\decoder. py",第 355 行,在 raw_decode json.decoder.JSONDecodeError:期望用双引号括起来的属性名称:第 1 行第 2 列(字符 1)
在处理上述异常的过程中,又出现了一个异常:
回溯(最后一次调用):文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py”,第 516 行,在 shell_safe_json_parse 文件中“ast.py”,第 85 行,在 literal_eval 文件中“ast.py”,第 66 行,在 _convert 文件中“ast.py”,第 65 行,在文件“ast.py”中,第 77 行,在 _convert 文件中“ast.py”。 py",第 84 行,在 _convert ValueError:格式错误的节点或字符串:<_ast.Name object at 0x04765050>
在处理上述异常的过程中,又出现了一个异常:
回溯(最后一次调用):文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py”,第 807 行,在 send_raw_request 文件中“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py”,第 521 行,在 shell_safe_json_parse knack.util.CLIError:期望包含的属性名称在双引号中:第 1 行第 2 列(字符 1)
在处理上述异常的过程中,又出现了一个异常:
Traceback(最近一次调用最后):文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py”,第 233 行,在调用文件“D:\ a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/ init .py”,第 660 行,在执行文件“D:\a\1\s\build_scripts \windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/ init .py”,第 723 行,在 _run_jobs_serially 文件“D:\a\1\s\build_scripts\windows\artifacts\cli\ Lib\site-packages\azure/cli/core/commands/ init .py”,第 716 行,在 _run_job 文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\six .py”,第 703 行,在 reraise 文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/ init.py”,第 694 行,在 _run_job 文件中“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/ init .py”,第 331 行,在调用
文件“D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/ init .py”,第 811 行,在 default_command_handler 文件“D:\a\ 1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/util/custom.py”,第 17 行,在 rest_call 文件“D:\a\1\s\build_scripts\windows \artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 810, in send_raw_request ValueError: not enough values to unpack (expected 2, got 1) 要打开问题,请运行:' az反馈'
[2] Bad Request({"error":{"code":"BadRequest","message":"无法读取 JSON 请求负载。请确保 Content-Type 标头已设置且负载为有效 JSON 格式。", "innerError":{"date":"2021-06-19T12:49:52","request-id":"13fe58d2-ef15-4a57-8f95-4f30dcece5cc","client-request-id":"13fe58d2- ef15-4a57-8f95-4f30dcece5cc"}}})