@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”,第 84 行,在 _convert 中
ValueError:格式错误的节点或字符串:<_ast.name>
在处理上述异常的过程中,又出现了一个异常:
回溯(最近一次调用最后一次):
文件“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)
在处理上述异常的过程中,又出现了一个异常:
回溯(最近一次调用最后一次):
文件“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 行,重新引发
文件“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 行,在call文件“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”,第 810 行,在 send_raw_request 中
ValueError:没有足够的值来解压(预期为 2,实际为 1)
要打开问题,请运行:“az Feedback”
[2]
错误请求({"error":{"code":"BadRequest","message":"无法读取 JSON 请求有效负载。请确保设置了 Content-Type 标头并且有效负载具有有效的 JSON 格式。","innerError" :{“日期”:“2021-06-19T12:49:52”,“请求id”:“13fe58d2-ef15-4a57-8f95-4f30dcece5cc”,“客户端请求id”:“13fe58d2-ef15-4a57 -8f95-4f30dcece5cc"}}})