获取访问令牌为WNS返回“400 - 错误请求”以进行身份​​验证云服务

时间:2013-02-27 06:14:54

标签: c# .net windows-8 windows-store-apps

我一直在使用MSDN article (Code given by step 6)提供的代码。问题是它使用     HttpUtility     Web客户端 在windows metro风格框架中没有的类和那些我修改了GetAccessToken(....)方法如下。

protected OAuthToken GetAccessToken(string secret, string sid)
{
var urlEncodedSecret = WebUtility.UrlEncode(secret);
var urlEncodedSid = WebUtility.UrlEncode(sid);

HttpClient httpClient = new HttpClient();

httpClient.DefaultRequestHeaders.Add("grant_type", "client_credentials");
httpClient.DefaultRequestHeaders.Add("client_id", urlEncodedSid);
httpClient.DefaultRequestHeaders.Add("client_secret", urlEncodedSecret);
httpClient.DefaultRequestHeaders.Add("scope", "notify.windows.com");

Task<string> responseResult = null;

try
{
Task<HttpResponseMessage> response = httpClient.GetAsync("https://login.live.com/accesstoken.srf");

responseResult = response.Result.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
// Display the error message
}

return GetOAuthTokenFromJson(responseResult.Result);
}

问题是它返回“400”错误请求“结果。当从Google检查时,它表明我没有正确设置标题。 正如MSDN Page所述,我已设置所有必需的标题,如下所示,以获取访问令牌,而访问令牌将用于发送通知

希望有人能帮我解决这个问题。 Thanx:)

0 个答案:

没有答案