Заголовок авторизации C# httpclient у меня не работает?C#

Место общения программистов C#
Ответить
Anonymous
 Заголовок авторизации C# httpclient у меня не работает?

Сообщение Anonymous »


Я пытаюсь создать приложение, которое позволит мне запрашивать базу данных из Discogs.

Согласно документации API, я могу сделать это с помощью токена, поэтому я зарегистрировался и получил токен пользователя.

Теперь, когда я использую почтальона с https://api.discogs.com/database/search ... e=1&token= Я получаю JSON, как и ожидал.

Но когда я создаю httpclient на C# с этим токеном:

публичный строковый токен = ; общественный статический клиент HttpClient {get; набор; } публичная статическая асинхронная задача InitilizeClient() { дождитесь GetAccesToken(); } частная статическая асинхронная задача GetAccesToken() { клиент = новый HttpClient(); client.DefaultRequestHeaders.Accept.Clear(); client.BaseAddress = новый Uri(@"https://api.discogs.com"); //client.DefaultRequestHeaders.Authorization=new AuthenticationHeaderValue("Discogs", "token="+token); client.DefaultRequestHeaders.TryAddWithoutValidation("Авторизация","Discogs token=" + токен); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); } а затем используйте клиент вот так

public static async Task QueryDataBaseAsync (строковый запрос) { если (запрос == ноль) { throw new Exception("запрос пуст"); } строка URL = ""; url = @"https://api.discogs.com/database/search ... le="+query; если (клиент == ноль) { ожидайте InitilizeClient(); } используя (ответ HttpResponseMessage = ожидайте client.GetAsync(url)) { если (ответ.IsSuccessStatusCode) { } еще { выдать новое исключение(response.ReasonPhrase + "\n" + response.RequestMessage.ToString()); } } } тогда я всегда получаю:

Фраза причины «запрещено», «код состояния: 403»

когда я ставлю точку останова на свой HttpResponseMessage ответ, я вижу, что в разделе «headers»=>»responsemessage»=>»headers»=>«authorization» есть мой токен.
>
Что я делаю не так?

ПС. Я новичок в программировании, поэтому буду признателен, если вы объясните, что я сделал не так
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»