使用 C# HttpClient 将 POST 授权给 Vimeo API
Authorising POST to Vimeo API with C# HttpClient
我正在尝试制作一个 POST 到 Vimeo API 但我收到 401 Authorization Required
.
这是我的请求代码(我只是发送第一个请求,文档说应该 return 给我一个用于上传的工单 ID)。
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://api.vimeo.com");
var byteArray = Encoding.ASCII.GetBytes(accessToken);
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var form = new FormUrlEncodedContent(new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string, string>("type","POST")
});
var response = await client.PostAsync("/me/videos", form);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsStringAsync();
我也试过像这样添加访问令牌:
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", accessToken);
总是return 401.
添加访问令牌的正确方法是什么?
这就是 header 必须的样子:
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", accessToken);
我正在尝试制作一个 POST 到 Vimeo API 但我收到 401 Authorization Required
.
这是我的请求代码(我只是发送第一个请求,文档说应该 return 给我一个用于上传的工单 ID)。
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://api.vimeo.com");
var byteArray = Encoding.ASCII.GetBytes(accessToken);
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var form = new FormUrlEncodedContent(new List<KeyValuePair<string, string>>()
{
new KeyValuePair<string, string>("type","POST")
});
var response = await client.PostAsync("/me/videos", form);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsStringAsync();
我也试过像这样添加访问令牌:
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", accessToken);
总是return 401.
添加访问令牌的正确方法是什么?
这就是 header 必须的样子:
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", accessToken);