アーカイブファイル(重要な場合はZipアーカイブ)を外部サイトの既存のAPIにアップロードしようとしていますが、Webクライアントを接続してサイトへのトークンを取得することはできますが、アップロードが機能しないようですが、継続的に取得します404エラー。問題は彼らの側にあるかもしれませんが、彼らのサイトにそれについて投稿したのは私だけのようですが、UploadFileを正しく使用しているのか、それともコマンドからの応答をキャプチャする方法があるのでしょうか?これは、PowerShellコーディングを改善するためだけのものかどうかを知りたいです。
私が実行しているのは次のとおりです。
# Variables I want to use
$appArchive = "\\networkpath\Releases\CodeReleasePackage.zip"
$localArchive = "c:\temp\CodeReleasePackage.zip"
[string]$appUrl = "https://site.com/api/v1/apps/(id)/"
[string]$tokenUrl = "https://site.com/token"
[string]$uploadUrl = "https://site.com/api/v1/apps/(id)/?auth_token=$mytoken"
# $appCred = Get-Credential
$username = "email@address"
$password = "password"
# Create the web client
"Creating the client.`n"
$pgup = new-object System.Net.WebClient
$pgup.Credentials = New-Object net.NetworkCredential($username,$password)
"Going to the token page"
$pgToken = $pgup.UploadString($tokenUrl,"")
$mytoken = $pgToken -replace '{|}|"|:|token',''
"Now trying to upload the latest file with my token: $mytoken"
$pgup.UploadFile($uploadUrl,$appArchive)
{"token"、 "hkjuihgkjhiuhhlkhuhk"}のようなトークンを取得しましたが、結果のトークンを処理するためのより良い方法があるかどうかはわかりません。トークン文字列以外のすべてを削除するために置き換えました。URLに追加すると機能するはずですが、Fiddlerによると404エラーが発生します。
したがって、$ pgup.UploadFile()を実行したときにサイトからの応答をキャプチャできるようにしたいのですが、何も戻ってこないように見える場合、それをキャプチャする特定の方法はありますか?明確な例が見つかりませんでした。$response= $ pgup.UploadFile()のようなことをすると、$responseには何もありません。Webクライアントのエラーを診断するのに役立つものは何でも素晴らしいでしょう、それはかなり有用であるように思われるので、私はこれについてもっと学びたいです