ファイルをアップロードする前に、ProGet アセット ディレクトリにサブ ディレクトリを作成しようとしています。ドキュメントには、アセット ディレクトリはフィードとして扱われると記載されていますが、これはエラー メッセージで確認できます (最上位のディレクトリ名を存在しない名前に変更すると、適切な「フィードが存在しません」というエラー メッセージが表示されます)。ただし、サブディレクトリを作成しようとすると、API キーが尊重されないようで、代わりに匿名ユーザーとして報告されます。URL でキーを渡し、X-ApiKey ヘッダーと X-NUGET-APIKEY ヘッダーの両方を設定しようとしました。
PowerShell スニペット (ドキュメントに記載されているすべての方法で設定していることがわかります。各オプションも個別に試しました):
$DirectoryEndpoint = "$Server/endpoints/$AssetDirectoryName/dir/$AssetDirectoryPath" +"?key=$ApiKey"
Write-Output $DirectoryEndpoint
$headers = @{
'X-NUGET-APIKEY' = $ApiKey
'X-ApiKey' = $ApiKey
}
#Create the directory (if exists will do nothing)
Invoke-RestMethod -Method 'Post' -Uri $DirectoryEndpoint -Headers $headers -Body @{}
次のエラー メッセージが表示されます。
Invoke-RestMethod : Anonymous is not permitted to perform the Feeds_AddPackage task for the current scope.
また、匿名ユーザーを管理者グループに追加しようとしましたが、API キーにはすべてに対する権限があります。すべてのヘッダーとクエリ文字列の API キーを Username:Password 形式に置き換えようとしましたが、同じエラーが発生します。
Web プロキシを使用して、ヘッダーと URL が正しく、整形式であることを確認しました。
ProGet API のドキュメントは良くありません...使用例のスニペットはありません。
私が間違っていることを誰かが知っていますか?ProGet が API キーまたはユーザーを識別しないのはなぜですか?