无法检索访问令牌
Cannot retrieve access tocken
我正在使用 gitlab 代码对此 https://forge-digital-twin.autodesk.io/# 进行试验。我可以在本地显示它(没有引擎或数据流)但我无法获得访问令牌。
我正在使用 VSCode 扩展,如果我尝试创建存储桶等,我会收到代码 401(未经授权)错误(因此我尝试获取访问代码)。但是,当我使用这个请求时:
curl -i -X POST 'https://developer.api.autodesk.com/authentication/v1/authenticate' -H 'Content-Type: application/x-www-form-urlencoded' -d 'client_id=-----' -d 'client_secret= ----' -d 'grant_type=client_credentials' -d 'scope=data:write data:read bucket:create bucket:delete'
我收到这个错误:
Invoke-WebRequest:无法绑定参数 'Headers'。无法转换“内容类型:
application/x-www-form-urlencoded”类型“System.String”的值
“System.Collections.IDictionary”。
在 line:1 char:90
- ... ticate' -H 'Content-Type: application/x-www-form-urlencoded' -d 'cl ...
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
- FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.InvokeWebRe
任务命令
我不知道我哪里出错了,我已经尝试了所有我能想到的方法。
希望能帮到你,谢谢:)
默认为Invoke-WebRequest。
尝试像这样使用 Invoke-RestMethod:
$Body = @{
grant_type = "client_credentials"
client_id = ""
client_secret = ""
scope = "data:write data:read bucket:create bucket:delete"
}
$Headers = @{
'Content-Type' = 'application/x-www-form-urlencoded'
}
$response = Invoke-RestMethod -Method Post -Uri https://developer.api.autodesk.com/authentication/v1/authenticate' -Headers $Headers -Body $Body
如果您在使用 Visual Studio 代码的 Forge 扩展时遇到 401 问题,请确保您至少有一个“环境”配置了您的 Forge 客户端 ID 和密码。当您第一次激活扩展时,它会自动要求您提供凭据,但您也可以随时通过转到 Visual Studio 代码首选项并查找“伪造”来添加或编辑环境:
然后,在 Autodesk > Forge: Environments 部分,点击 Edit in settings.json link 并直接将环境编辑为 JSON,如果需要,创建一个新对象(设置 title
、clientId
和 clientSecret
属性):
Btw. VSCode provides intelli-sense support when editing the settings.json file, so you'll see exactly which properties are expected/available in each environment.
我正在使用 gitlab 代码对此 https://forge-digital-twin.autodesk.io/# 进行试验。我可以在本地显示它(没有引擎或数据流)但我无法获得访问令牌。
我正在使用 VSCode 扩展,如果我尝试创建存储桶等,我会收到代码 401(未经授权)错误(因此我尝试获取访问代码)。但是,当我使用这个请求时:
curl -i -X POST 'https://developer.api.autodesk.com/authentication/v1/authenticate' -H 'Content-Type: application/x-www-form-urlencoded' -d 'client_id=-----' -d 'client_secret= ----' -d 'grant_type=client_credentials' -d 'scope=data:write data:read bucket:create bucket:delete'
我收到这个错误:
Invoke-WebRequest:无法绑定参数 'Headers'。无法转换“内容类型: application/x-www-form-urlencoded”类型“System.String”的值 “System.Collections.IDictionary”。 在 line:1 char:90
- ... ticate' -H 'Content-Type: application/x-www-form-urlencoded' -d 'cl ...
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
- FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.InvokeWebRe
任务命令
我不知道我哪里出错了,我已经尝试了所有我能想到的方法。
希望能帮到你,谢谢:)
默认为Invoke-WebRequest。 尝试像这样使用 Invoke-RestMethod:
$Body = @{
grant_type = "client_credentials"
client_id = ""
client_secret = ""
scope = "data:write data:read bucket:create bucket:delete"
}
$Headers = @{
'Content-Type' = 'application/x-www-form-urlencoded'
}
$response = Invoke-RestMethod -Method Post -Uri https://developer.api.autodesk.com/authentication/v1/authenticate' -Headers $Headers -Body $Body
如果您在使用 Visual Studio 代码的 Forge 扩展时遇到 401 问题,请确保您至少有一个“环境”配置了您的 Forge 客户端 ID 和密码。当您第一次激活扩展时,它会自动要求您提供凭据,但您也可以随时通过转到 Visual Studio 代码首选项并查找“伪造”来添加或编辑环境:
然后,在 Autodesk > Forge: Environments 部分,点击 Edit in settings.json link 并直接将环境编辑为 JSON,如果需要,创建一个新对象(设置 title
、clientId
和 clientSecret
属性):
Btw. VSCode provides intelli-sense support when editing the settings.json file, so you'll see exactly which properties are expected/available in each environment.