gpt4 book ai didi

powershell - 从 Confluence 页面获取限制

转载 作者:行者123 更新时间:2023-12-01 23:16:00 26 4
gpt4 key购买 nike

我对 Web API 调用不是很精通,但我一直在使用以下 powershell 代码(本示例中的这个站点是我发现有一些公共(public)数据的站点...我的站点是内部的,需要我通过凭证,它一直在为我工作而没有问题):

If(-not (Get-InstalledModule -Name 'ConfluencePS')){Install-Module ConfluencePS}
Import-Module ConfluencePS

Set-ConfluenceInfo -BaseUri "https://wiki.opnfv.org"

$space = Get-confluencepage -Spacekey ds

ForEach($item in $space)
{
$splatParams = @{
Uri = "https://wiki.opnfv.org/rest/api/content/$($item.ID)/restriction"
ContentType = 'application/json'
method = 'GET'
}
#reference https://developer.atlassian.com/cloud/confluence/rest/#api-api-content-id-restriction-get
Invoke-RestMethod @splatParams
}

documentation ConfluencePS 表明限制仍然是一个开放的功能请求,但我需要让它为一个项目工作。

我在 ConfluencePS.psm1 的第 982 行设置了一个断点,并且能够看到各种调用以及参数的结构,但是当我尝试模仿它时(并根据 confluence documentation 更改 URI)我收到错误“HTTP 错误 405 - MethodNotAllowed”。有人对我如何使这项工作有建议吗?我正在尝试返回应用于特定空间中所有页面的权限。

最佳答案

通过内容 ID 获取限制

你自己发现,需要加上“byOperation”。

我能够使用以下代码获取特定页面的限制:

# for testing purposes ONLY, I've specified the URL and ID
$wikiUrl = "https://wiki.opnfv.org"
$itemId = "6820746"

$splatParams = @{
Uri = "$wikiUrl/rest/api/content/$itemId/restriction/byOperation"
ContentType = 'application/json'
method = 'GET'
}
$result = Invoke-RestMethod @splatParams

在版本 6.0.4 和 6.15.9 上测试

按用户名过滤

如果您想通过特定用户名过滤结果,您可以使用以下 URI:"$wikiUrl/rest/api/content/$itemId/restriction/byOperation/.../user?userName=".

顺便说一下,这种操作方式存在一个 Unresolved 错误: restriction returns ambiguous responses

关于powershell - 从 Confluence 页面获取限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59306380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com