1

MSDNの記事で提供されたコードを使用しています(ステップ6で提供されたコード) 。問題は、Windows メトロ スタイル フレームワークでは使用できない HttpUtility WebClient クラスを使用し、次のように 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 "Bad Request" が返されることです。Google から確認すると、ヘッダーが正しく設定されていないことが示唆されます。MSDN ページが言うように、必要なすべてのヘッダーを次のように設定して、アクセス トークンをフェッチします。通知の送信に使用されます

誰かがこれを理解するのを手伝ってくれることを願っています。ありがとう:)

4

0 に答える 0