Я пытаюсь использовать службы REST SharePoint 2013 из приложения Desktop (кросс-платформенный, cross-os). Приложение в основном представляет собой HTML-страницу в представлении приложения. Есть ли простой способ аутентификации моих вызовов с помощью методов HTTP?Sharepoint 2013 REST api из настольного приложения - Аутентификация
1
A
ответ
0
Да, вы можете пройти аутентификацию и получить дайджест через звонок REST.
string url = "http://Your.SP.Site";
HttpClient client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });
client.BaseAddress = new System.Uri(url);
string cmd = "_api/contextinfo";
client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose");
client.DefaultRequestHeaders.Add("ContentType", "application/json");
client.DefaultRequestHeaders.Add("ContentLength", "0");
StringContent httpContent = new StringContent("");
var response = client.PostAsync(cmd, httpContent).Result;
if (response.IsSuccessStatusCode)
{
string content = response.Content.ReadAsStringAsync().Result;
JsonObject val = JsonValue.Parse(content).GetObject();
JsonObject d = val.GetNamedObject("d");
JsonObject wi = d.GetNamedObject("GetContextWebInformation");
retVal = wi.GetNamedString("FormDigestValue");
}
Приведенный выше пример показывает, как получить дайджест в C# с HttpClient. Эта строка должна передаваться в виде заголовка ко всем остальным остальным вызовам, которые вы выполняете для переноса аутентификации. Вы можете создать учетные данные, указав при необходимости имя пользователя и пароль.
У меня есть еще примеры здесь:
Вы можете сделать эти вызовы в JavaScript, а также и Microsoft имеет много документации по этому вопросу. Существует также библиотека .NET, Microsoft.SharePoint.Client.DLL (CSOM), которая упрощает этот тип кодирования, но у вас должна быть установлена библиотека на клиенте.
Смежные вопросы
- 1. Аутентификация SharePoint 2013 на локальном REST API
- 2. Аутентификация из приложения NativeScript (android/ios) в Sharepoint 2013 REST API
- 3. Аутентификация с настольного приложения
- 4. Sharepoint 2013: EnsureUser через REST API
- 5. API REST SharePoint 2013: обновление метаданных файлов
- 6. Аутентификация внешней службы REST из SharePoint Online
- 7. Использование $ skip с API REST SharePoint 2013
- 8. Поиск в SharePoint 2013 REST API
- 9. REST issue Sharepoint 2013
- 10. Аутентификация для EWS из SharePoint 2013 SharePoint Hosted App (JavaScript)
- 11. API-интерфейсы SharePoint 2013
- 12. Access sharepoint search rest api
- 13. Добавление приложения из SharePoint Store + SharePoint 2013
- 14. Аутентификация с использованием Sharepoint 2013
- 15. Аутентификация с SharePoint 2013 от node.js
- 16. Аутентификация приложения ASP.NET MVC через REST API
- 17. Аутентификация для приложения API REST Sinatra
- 18. Ошибка приложения приложения SharePoint 2013
- 19. BASIC аутентификации с JAVA для Sharepoint 2013 REST API
- 20. Использование OAuth API AppHarbor из настольного приложения
- 21. Аутентификация запроса API REST
- 22. API REST SharePoint 2013, элементы списка фильтров по дате времени
- 23. Sharepoint Rest Api calls`
- 24. Sharepoint 2013 REST API не возвращает все элементы для списка
- 25. Удалить все элементы списка Sharepoint 2013 REST
- 26. SharePoint 2013: REST API, GET JSON, элементы списка отображения
- 27. Добавление элементов списка с помощью API REST SharePoint 2013
- 28. SSO из пользовательского приложения в SharePoint 2013
- 29. Как написать список Sharepoint 2013 с использованием Rest API
- 30. sharepoint search using rest api
Извините мое возможное невежество, но как это работает без включения имени пользователя и пароля? Является ли UseDefaultCredentials каким-то образом включать их в заголовок? – eshortie
Вторая строка кода содержит «UseDefaultCredentials = true», так что они есть. Это будет работать только для установок SharePoint, настроенных на использование проверки подлинности Windows, грубых, но учетные данные также могут быть переданы путем создания NetworkCredential. –
Я не использую .NET, так что это немного запутанно. Где именно учетные данные вводятся точно? Являются ли они в определенном формате? – eshortie