0
我試圖使用永久令牌的授權來發布JSON與HhttpClient
使用HttpClient的,但我總是得到一個錯誤401未經授權的代碼:授權永久的令牌頭添加到POST JSON的REST API
public static async Task<Uri> CrearitemAsync(Item item)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(BaseUri);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("OAuth", AuthToken);
HttpResponseMessage response = await client.PostAsJsonAsync(
"items/" + IdProvider, JsonConvert.SerializeObject(item));
response.EnsureSuccessStatusCode();
return response.Headers.Location;
}
}
我也試試這個:
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AuthToken);
令牌似乎很好。它是一個全部小寫的字母數字字符串。這是使用永久令牌的正確方法嗎?
更新的關鍵,我必須使用的標題是:IDENTITY_KEY 但仍然未能
沒有直接關係,但是[你正在使用'HttpClient'錯誤](https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/)。 –
[設置HttpClient的授權標頭]可能的重複(https://stackoverflow.com/questions/14627399/setting-authorization-header-of-httpclient) – Cory
不要手動序列化項目(JsonConvert.SerializeObject)。只需將* item *傳遞給PostAsJsonAsync。 (或使用* StringContent *和* JsonConvert.SerializeObject *)手動執行它 –