我想發佈一個文件到倉庫到位桶的「下載」部分工作。我正在關注Bitbucket文檔中的this頁面。我試圖通過編寫一個Powershell腳本來做到這一點。我已經成功地得到了GET方法一起工作:無法獲取POST與PowerShell和到位桶
#Invoke-RestMethod -Credential $cred -Uri https://api.bitbucket.org/2.0/repositories/myBitbucketUsername/myBitbucketRepoName/downloads?access_token=9EtOz9JDeWGwxTLKx3ya2oPE8g652GoLN0cMmtD0Ncvkf2OXoio0bcXwSigNE9AXTT2aj6qmbS5XHae7rIc%3D"&"scopes=pipeline%3Avariable+webhook+snippet%3Awrite+wiki+issue%3Awrite+pullrequest%3Awrite+repository%3Adelete+repository%3Aadmin+project%3Awrite+team%3Awrite+account%3Awrite"&"expires_in=3600 -OutFile .\file.txt
爲了得到那個去上班我不得不添加訪問令牌,我通過到位桶(因此所有文本的訪問令牌部分構成的Uri)。
我不知道如何執行POST。我已經試過幾件事,包括類似文件的東西:
curl -s -u myBitbucketUsername -X POST https://api.bitbucket.org/2.0/repositories/myBitbucketUsername/myBitbucketRepoName/downloads -F [email protected]
運行此命令時,我進去PowerShell中的錯誤是:
Invoke-WebRequest : Parameter cannot be processed because the parameter name 'u' is ambiguous. Possible matches include:
-UseBasicParsing -Uri -UseDefaultCredentials -UserAgent.
At C:\Users\user\Desktop\ScriptTest.ps1:21 char:9
+ curl -s -u myBitbucketUsername-X POST https://api.bitbucket.org/2.0/reposit ...
+ ~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameter,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
我也試着與添加到訪問令牌URL(類似於我如何進行GET)。
我想POST的文件是「hello.txt的」,這是對我的桌面 - 相同的位置,我的PowerShell腳本。
任何想法?
編輯: 我遵循briantist的建議,並改用憑據代替。現在,我收到'Bad Request (400)
'錯誤。這裏是我的代碼:
$postParams = @{files='.\Hello.txt'}
Invoke-WebRequest -Credential $cred -Uri https://api.bitbucket.org/2.0/repositories/myBitbucketUsername/myRepoName/downloads -ContentType "multipart/form-data" -Method POST -Body $postParams
'捲曲-s -u myBitbucketUsername-X POST'你知道有應該是'myBitbucketUsername'和'-X'之間的空格嗎? – Milk
@Milk oops - 這是從複製到帖子中的錯字。我已更新該帖子。 – Roka545