Можно ли получить доступ к хранилищу данных VSTS из-за пределов VSTS?

Я использую приведенный ниже код для доступа к хранилищу данных в моем расширении VSTS.

// Get data service
VSS.getService(VSS.ServiceIds.ExtensionData).then(function(dataService) {
    // Get all document under the collection
    dataService.getDocuments("MyCollection").then(function(docs) {
        console.log("There are " + docs.length + " in the collection.");
    });
});

Можно ли использовать это в обычном веб-приложении, которое не использует VSTS? Я просто хочу получить доступ к данным, хранящимся в другом веб-приложении.


person Dawn17    schedule 16.08.2018    source источник


Ответы (1)


Вызов этого URL-адреса должен работать:

https://{yourvstsaccount}.extmgmt.visualstudio.com/_apis/ExtensionManagement/InstalledExtensions/{extensionpublisherName}/{extensionname}/Data/Scopes/{scope}/Collections/{collectionName}/Documents/{documentName}

Например: введите здесь описание изображения

person Eddie Chen - MSFT    schedule 17.08.2018
comment
Каким должен быть extensionname? Есть несколько настроек, которые я сделал в файле vss-extension.json. У меня есть id, name, id в массиве contributions. Я предполагаю, что это name, но что я должен поставить, если в моем имени есть пробел? Кроме того, каким должен быть documentName? Я задаю имя коллекции только при настройке хранилища данных. - person Dawn17; 17.08.2018
comment
Извините, это идентификатор расширения. - person Eddie Chen - MSFT; 17.08.2018
comment
Если вы не передали имя документа при создании, оно должно быть создано автоматически. Вы проверили это? - person Eddie Chen - MSFT; 17.08.2018
comment
Он продолжает выдавать мне 401 неавторизованный. Я использую свою учетную запись Microsoft (адрес электронной почты) для авторизации и название моей организации VSTS для {yourvstsaccount}. Я делаю это неправильно? - person Dawn17; 17.08.2018
comment
@ Dawn17 Вы должны использовать токен личного доступа или включить альтернативные учетные данные. - person Eddie Chen - MSFT; 20.08.2018
comment
Чен, какой метод аутентификации мы должны использовать, если мы хотим использовать токен личного доступа? Кроме того, является ли токен доступа тем, что мы можем сделать на странице личных настроек VSTS? - person Dawn17; 21.08.2018
comment
@ Dawn17 Basic Auth, да, токен личного доступа в личных настройках\безопасности. - person Eddie Chen - MSFT; 21.08.2018
comment
Но базовая аутентификация запрашивает у вас имя пользователя и пароль, а не токен личного доступа. - person Dawn17; 21.08.2018
comment
@ Dawn17 Имя пользователя — любая строка, а пароль — токен личного доступа. - person Eddie Chen - MSFT; 22.08.2018
comment
Любая строка? Итак, мы можем просто поставить буквально что угодно, и пароль — это единственное, что имеет значение? - person Dawn17; 22.08.2018
comment
Отлично. Он изменился с 401 unauthorized на 404 not found, что означает, что аутентификация сработала. https://{orgname}.visualstudio.com/_apis/ExtensionManagement/InstalledExtensions/{publisherName}/{extensionID}/Data/Scopes/User/Collections/{collectionName}/Documents Это API, который я использовал, но он не найден. Есть ли более простой API, который я могу использовать, чтобы проверить, действительно ли он работает? Кроме того, я до сих пор не знаю, где найти файл {documentName}. Спасибо за вашу помощь. - person Dawn17; 22.08.2018
comment
@ Dawn17 Вы пропустили строку extmgmt после имени организации в URL-адресе. Подробнее об имени документа (идентификаторе документа) см. по этой ссылке: docs.microsoft.com/en-us/vsts/extend/develop/ - person Eddie Chen - MSFT; 22.08.2018
comment
Есть ли более простой API, который я могу использовать для тестирования? - person Dawn17; 22.08.2018
comment
@ Dawn17 Нет, но если вы создали расширение для создания и чтения хранилища данных, нажмите F12 в браузере и переключитесь на вкладку сети. а затем обновите страницу, на которой размещено ваше расширение, вы должны увидеть подробный URL-адрес вашего документа. - person Eddie Chen - MSFT; 22.08.2018