我有一个HttpClient,我用它来使用REST API.但是,我在设置Authorization标头时遇到问题.我需要将标头设置为我从执行OAuth请求时收到的令牌.我看到.NET的一些代码表明以下内容,
httpClient.DefaultRequestHeaders.Authorization = new Credential(OAuth.token);
Run Code Online (Sandbox Code Playgroud)
但是,Credential类在WinRT中不存在.任何人有任何想法如何设置授权标头?
我在Windows商店应用程序项目中实现了其他同事与Apiary.io的api.
他们展示了我必须实现的方法的这个例子
var baseAddress = new Uri("https://private-a8014-xxxxxx.apiary-mock.com/");
using (var httpClient = new HttpClient{ BaseAddress = baseAddress })
{
using (var response = await httpClient.GetAsync("user/list{?organizationId}"))
{
string responseData = await response.Content.ReadAsStringAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
在这个和其他一些方法中,我需要一个带有我之前获得的标记的标题
下面是一个邮递员(镀铬扩展)的图像,标题我正在谈论

如何将该授权标头添加到请求中?
c# windows-runtime dotnet-httpclient windows-store-apps apiary.io
我正在开发一个wp8.1应用程序C#,我已经设法通过从textbox.texts创建一个json对象(bm)来在json中执行一个POST方法到我的api.这是我的代码如下.我如何使用相同的textbox.text并将它们作为内容类型= application/x-www-form-urlencoded进行POST.那是什么代码?
Profile bm = new Profile();
bm.first_name = Names.Text;
bm.surname = surname.Text;
string json = JsonConvert.SerializeObject(bm);
MessageDialog messageDialog = new MessageDialog(json);//Text should not be empty
await messageDialog.ShowAsync();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json");
byte[] messageBytes = Encoding.UTF8.GetBytes(json);
var content = new ByteArrayContent(messageBytes);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = client.PostAsync("myapiurl", content).Result;
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
...
AuthenticationHeaderValue authHeaders = new AuthenticationHeaderValue("OAuth2", Contract.AccessToken);
string result = await PostRequest.AuthenticatedGetData(fullUrl, null, authHeaders);
return result;
...
public static async Task<string> AuthenticatedGetData(string url, FormUrlEncodedContent data, AuthenticationHeaderValue authValue)
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authValue.Parameter);
HttpResponseMessage response = await client.PostAsync(new Uri(url), data);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
return responseBody;
}
Run Code Online (Sandbox Code Playgroud)
响应=等待部分只是继续循环,没有任何反应.我有什么想法我做错了吗?
问题是,我如何发送以下标题:
Authorization: OAuth2 ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)
到外部网络api