Authorization 通过RESTAPI的VSTS扩展文档

Authorization 通过RESTAPI的VSTS扩展文档,authorization,azure-devops,azure-devops-rest-api,Authorization,Azure Devops,Azure Devops Rest Api,我一直在为VST创建扩展,到目前为止,我已经将一些数据存储在集合()中的文档中 我现在的问题是,我需要以某种方式从外部应用程序获取这些文档。我已经调查过了:要完成授权,但是我无法获得文件。如果我试图通过REST API访问,我会遇到授权问题(没有提供个人访问令牌。应用程序应该为每个用户工作,我无法获取和使用每个用户的个人访问令牌。这对350多人来说是不可行的),我也无法使REST API工作。关于所有这些的文件都严重缺乏。 有人能提供帮助吗?缺少文档,因为数据存储对于扩展是隔离的,并且没有简单的

我一直在为VST创建扩展,到目前为止,我已经将一些数据存储在集合()中的文档中

我现在的问题是,我需要以某种方式从外部应用程序获取这些文档。我已经调查过了:要完成授权,但是我无法获得文件。如果我试图通过REST API访问,我会遇到授权问题(没有提供个人访问令牌。应用程序应该为每个用户工作,我无法获取和使用每个用户的个人访问令牌。这对350多人来说是不可行的),我也无法使REST API工作。关于所有这些的文件都严重缺乏。
有人能提供帮助吗?

缺少文档,因为数据存储对于扩展是隔离的,并且没有简单的方法从扩展外部访问数据。如果需要外部访问,还需要在外部存储数据。Azure存储或在VSTS帐户下的TFVC/Git回购中


至于按用户存储访问,这也是孤立的,确实需要帐户所有者令牌或用户特定的Oauth或PAT令牌。

我找到了解决方案。文档说明有两种使用文档/集合的方法。RESTAPI及其VSS包装器。获取某个集合中的所有文档所需的url如下:

https://{account}.extmgmt.visualstudio.com/_-api/ExtensionManagement/InstalledExtensions/{publisherName}/{extensionName}/Data/Scopes/Default/Current/Collections/{collectionName}/Documents/{documentName}


在浏览器中使用此功能很好。要在外部应用程序中使用它,需要做的就是授权。

如果您使用诸如
VSS.getService(VSS.ServiceIds.ExtensionData)
中的sdk方法,您可以查看(浏览器中的开发工具中最简单的)请求。 它看起来像:

https://extmgmt.dev.azure.com/{organization}/_apis/ExtensionManagement/InstalledExtensions/{publisher id}/{extension id}/Data/Scopes/Default/Current/Collections/{collections (by default 'MyCollection')}/Documents

因此,即使是在扩展中创建的文档/集合也无法访问?只有通过扩展才能访问?您可以用一个示例进行解释