/git/updateFromGit
我正在使用 Powershell Invoke-WebRequest 向Fabric Rest API 端点发送 POST 请求。
此前,我已成功检索工作区 Head 和远程 Git Hash 调用,如这里/git/GetStatus
所述。
我的令牌是有效的,并且我检查过它具有正确的范围。
我无法发送成功的请求来从 git 更新工作区,请求正文总是有问题:它要么说缺少某些属性,要么说 git 哈希无效。
这是构建请求并发送请求的代码部分:
$headers = @{ 'Authorization' = "Bearer $token"}
$urlUpdate = 'https://api.fabric.microsoft.com/v1/workspaces/{0}/git/updateFromGit' -f $workspaceId
$postParams = [ordered]@{
workspaceHead = $GitWorkspaceHead
remoteCommitHash = $GitRemoteCommitHash
options = @{allowOverrideItems = $true }
}
Write-Host "Request body:"
$postParams | Format-Table
$ResponseUpdate = Invoke-WebRequest -Method Post -Uri $urlUpdate -Headers $headers -Body $postParams
在这种情况下,我$postParams
以哈希表的形式发送。我收到的错误消息如下:
第二次尝试时,我将其$postParams
作为 JSON 对象发送,在这种情况下,它说git 哈希无效,但经过检查后,git 哈希是正确且有效的。
如您所见,JSON 格式与文档示例中描述的格式相同(conflictResolution
不是必需的)。
$headers = @{ 'Authorization' = "Bearer $token"}
$urlUpdate = 'https://api.fabric.microsoft.com/v1/workspaces/{0}/git/updateFromGit' -f $workspaceId
$postParams = [ordered]@{
workspaceHead = $GitWorkspaceHead
remoteCommitHash = $GitRemoteCommitHash
options = @{allowOverrideItems = $true }
} | ConvertTo-Json
Write-Host "Request body:"
$postParams | Format-Table
$ResponseUpdate = Invoke-WebRequest -Method Post -Uri $urlUpdate -Headers $headers -Body $postParams
我做错什么了?