通过 REST 的 VSTS 扩展文档 API
VSTS Extension Documents Through REST API
我一直在为 VSTS 创建一个扩展,到目前为止,我已经将一些数据存储在集合中的文档中 (https://docs.microsoft.com/en-us/vsts/extend/develop/data-storage)。
我现在遇到的问题是,我需要以某种方式从外部应用程序获取这些文档。我调查了: https://github.com/Microsoft/vsts-auth-samples/tree/master/ClientLibraryConsoleAppSample 以完成授权,但后来我无法获得文件。如果我尝试通过 REST API 访问,我会在授权自己时遇到问题(没有提供个人访问令牌。该应用程序应该适用于每个用户,但我无法获取和使用每个用户的个人访问令牌。这是对于 350 多人来说不可行)以及我无法让 REST API 工作。所有这些的文档都严重缺乏。
有人能帮忙吗?
缺少文档,因为扩展的数据存储是独立的,并且没有简单的方法从扩展外部访问数据。如果您需要外部访问,您还需要在外部存储您的数据。 Azure 存储或 VSTS 帐户下的 TFVC/Git 存储库。
至于每个用户的存储访问,这也是隔离的,并且确实需要帐户所有者令牌或用户特定的 Oauth 或 PAT 令牌。
我找到了解决办法。文档指出有两种使用 documents/collections 的方法。 REST API 及其 VSS 包装器。获取某个集合中的所有文档所需的url如下:
https://{account}.extmgmt.visualstudio.com/_apis/ExtensionManagement/InstalledExtensions/{publisherName}/{extensionName}/Data/Scopes/Default/Current/Collections/{collectionName}/Documents/{documentName}.
在浏览器中使用它就可以了。为了将其与外部应用程序一起使用,需要做的就是授权。
如果您使用 docs 中的 sdk 方法,例如 VSS.getService(VSS.ServiceIds.ExtensionData)
,您可以查看(在浏览器中的开发工具中最简单)请求。
它看起来像:
https://extmgmt.dev.azure.com/{organization}/_apis/ExtensionManagement/InstalledExtensions/{publisher id}/{extension id}/Data/Scopes/Default/Current/Collections/{collections (by default 'MyCollection')}/Documents
我一直在为 VSTS 创建一个扩展,到目前为止,我已经将一些数据存储在集合中的文档中 (https://docs.microsoft.com/en-us/vsts/extend/develop/data-storage)。
我现在遇到的问题是,我需要以某种方式从外部应用程序获取这些文档。我调查了: https://github.com/Microsoft/vsts-auth-samples/tree/master/ClientLibraryConsoleAppSample 以完成授权,但后来我无法获得文件。如果我尝试通过 REST API 访问,我会在授权自己时遇到问题(没有提供个人访问令牌。该应用程序应该适用于每个用户,但我无法获取和使用每个用户的个人访问令牌。这是对于 350 多人来说不可行)以及我无法让 REST API 工作。所有这些的文档都严重缺乏。 有人能帮忙吗?
缺少文档,因为扩展的数据存储是独立的,并且没有简单的方法从扩展外部访问数据。如果您需要外部访问,您还需要在外部存储您的数据。 Azure 存储或 VSTS 帐户下的 TFVC/Git 存储库。
至于每个用户的存储访问,这也是隔离的,并且确实需要帐户所有者令牌或用户特定的 Oauth 或 PAT 令牌。
我找到了解决办法。文档指出有两种使用 documents/collections 的方法。 REST API 及其 VSS 包装器。获取某个集合中的所有文档所需的url如下:
https://{account}.extmgmt.visualstudio.com/_apis/ExtensionManagement/InstalledExtensions/{publisherName}/{extensionName}/Data/Scopes/Default/Current/Collections/{collectionName}/Documents/{documentName}.
在浏览器中使用它就可以了。为了将其与外部应用程序一起使用,需要做的就是授权。
如果您使用 docs 中的 sdk 方法,例如 VSS.getService(VSS.ServiceIds.ExtensionData)
,您可以查看(在浏览器中的开发工具中最简单)请求。
它看起来像:
https://extmgmt.dev.azure.com/{organization}/_apis/ExtensionManagement/InstalledExtensions/{publisher id}/{extension id}/Data/Scopes/Default/Current/Collections/{collections (by default 'MyCollection')}/Documents