使用 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);