Visual Studio 2015 u2,构建一个 Web 扩展,一个发布定义上下文菜单的操作处理程序。我希望我的扩展能够操作 def 上的 ACL。
JavaScript 客户端库中有一个钩子吗?REST API 端点存在,但JavaScript API 文档非常不完整。具体来说,我找不到通过 可用的模块列表,VSS.require()
这似乎是获取 REST API 包装器的正确方法。
编辑:好的,模块名称似乎列在这里,它来自Github 上的那些来源。几乎没有官方,但总比没有好。
Visual Studio 2015 u2,构建一个 Web 扩展,一个发布定义上下文菜单的操作处理程序。我希望我的扩展能够操作 def 上的 ACL。
JavaScript 客户端库中有一个钩子吗?REST API 端点存在,但JavaScript API 文档非常不完整。具体来说,我找不到通过 可用的模块列表,VSS.require()
这似乎是获取 REST API 包装器的正确方法。
编辑:好的,模块名称似乎列在这里,它来自Github 上的那些来源。几乎没有官方,但总比没有好。
没有文档,但我可以在https://raw.githubusercontent.com/microsoft/vss-web-extension-sdk/master/typings/vss.d.ts找到类型定义文档。具体来说,如果您查找“VSS/Security/RestClient”,您将在 API 客户端中找到方法列表。要使用它,您可以执行以下操作:
VSS.require(["VSS/Service", "VSS/Security/RestClient"],
function (Srv, SecAPI)
{
var SecClient = Srv.getCollectionClient(SecAPI.SecurityHttpClient);
SecClient.queryAccessControlLists(NamespaceId, TokenId).then(function(a)
{
//...
});
});
命名空间 ID 来自一个 querySecurityNamespaces() 调用,它目前在我身上出错,但我可以让它从外部 REST 客户端工作(奇怪!)。不知道 TokenId 来自哪里。也许它是发布定义 ID。
编辑:使用这个猴子补丁就像一个魅力。