Я новичок и изучаю web apisWeb API - Как получить доступ к API с помощью токена
Это пример API, который обеспечивает доступ к базе данных книг.
Есть 2 операции выборки API, доступная для 2-х база данных, говорит, ABC и XYZ
/api/{abc or xyz}/books
Это возвращают книги, которые доступны
/api/{abc or xyz}/book/{ID}
Это возвращает деталь одной книги Чтобы получить доступ к API вы Мне нужен токен API.
Также как и любой RealWorld API это может быть странным поведение временами
Я хочу построить веб-приложение, чтобы позволить клиентам получить самую низкую цену для книг из этих двух поставщиков в C#.
Предоставленный вам токен API не должен подвергаться публике. питания следующий маркер в заголовке, чтобы получить доступ к API х-доступ-маркер: xxxxxxxxxxxxxxxxxxxxxx
Я создал контроллер с
public class MoviesController : ApiController
{
Movies[] movies = new Movies[]
{
new Movies { Id = 1, Name = "Star Wars", Category = "Action", Price = 1 },
new Movies { Id = 2, Name = "Spiderman", Category = "Action", Price = 3.75M },
new Movies { Id = 3, Name = "Bridget Bones", Category = "Comedy", Price = 16.99M }
};
public IEnumerable<Movies> GetAllProducts()
{
return movies;
}
public IHttpActionResult GetProduct(int id)
{
var movie = movies.FirstOrDefault((p) => p.Id == id);
if (movie == null)
{
return NotFound();
}
return Ok(movie);
}
}
модель класса с
public class Movies
{
public int Id { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public decimal Price { get; set; }
и мой взгляд как
<body>
<div>
<h2>All Movies</h2>
<ul id="movies" />
</div>
<div>
<h2>Search by ID</h2>
<input type="text" id="movieId" size="5" />
<input type="button" value="Search" onclick="find();" />
<p id="movie" />
</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js">/script>
<script>
var uri = 'api/movies';
$(document).ready(function() {
// Send an AJAX request
$.getJSON(uri)
.done(function (data) {
// On success, 'data' contains a list of products.
$.each(data, function (key, item) {
// Add a list item for the product.
$('<li>', { text: formatItem(item) }).appendTo($('#movies'));
});
});
});
function formatItem(item) {
return item.Name + ': $' + item.Price;
}
function find() {
var id = $('#movieId').val();
$.getJSON(uri + '/' + id)
.done(function (data) {
$('#movie').text(formatItem(data));
})
.fail(function (jqXHR, textStatus, err) {
$('#movie').text('Error: ' + err);
});
}
</script>
Я не понимаю, как использовать аутентификацию на токене для этого. Допустим, я хочу предоставить следующий токен в заголовке для доступа к токенам доступа к API: xxxxxxxxxxxxxxxxxxxxxx. Как мне это сделать?
Любая помощь будет оценена по достоинству. Спасибо заранее.
Посмотрите в [OAuth2] (https://www.visualstudio.com/en-ca/docs/integrate/get -started/авт/OAuth). Кроме того, сделайте некоторое исследование, прежде чем спрашивать. –