通过REST API

时间:2017-11-24 07:49:53

标签: authorization azure-devops azure-devops-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正常工作。关于所有这些的文件严重缺乏。 有人能帮忙吗?

3 个答案:

答案 0 :(得分:0)

缺少文档,因为数据存储与扩展程序是隔离的,并且没有简单的方法可以从扩展程序外部访问数据。如果您需要外部访问,还需要在外部存储数据。 Azure存储或VSTS帐户下的TFVC / Git仓库。

对于每用户存储访问,它也是隔离的,确实需要帐户所有者令牌或用户特定的Oauth或PAT令牌。

答案 1 :(得分:0)

我找到了解决方案。文档说明有两种方法可以处理文档/集合。 REST API及其VSS包装器。获取特定集合中所有文档所需的URL如下:

的https:// {帐户} .extmgmt.visualstudio.com / _apis / ExtensionManagement / InstalledExtensions / {PUBLISHERNAME} / {EXTENSIONNAME} /数据/作用域/默认/电流/类别/ {集合名} /文档/ {documentName}

在浏览器中使用它可以正常工作。为了在外部应用程序中使用它,需要做的就是授权。

答案 2 :(得分:0)

如果您使用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