我正在尝试在上传文件之前在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.
我还尝试了将匿名用户添加到Admin组,并且API密钥拥有所有权限。我尝试将所有标头和查询字符串上的API密钥替换为Username:Password格式,但这只会导致相同的错误。
我检查了标头和URL是否正确,并通过使用Web代理正确地构成了
。ProGet API文档不是很好...没有任何示例用法摘要。
有人知道我在做什么错吗?为什么ProGet无法识别我的API密钥或我的用户?