Я пытаюсь использовать REST API в своем приложении, но я не могу заставить его работать.OneDrive REST API Post call Bad Request
Я получил код авторизации и сохранил его. (с разрешением wl.offline_access
)
Я хочу войти в OneDrive и загрузить файлы в фоновом режиме, поэтому мне нужно обновить токен. Затем я делаю POST-вызов, чтобы получить токен обновления, но он не работает. Что я делаю не так?
Вот мой код.
var data = "client_id=CLIENT_ID&redirect_uri=https://login.live.com/oauth20_desktop.srf&client_secret=CLIENT_SCRET&code=AUTHORIZATION_CODE&grant_type=authorization_code";
data = Uri.EscapeDataString(data);
var webClient = new WebClient
{
Headers =
{
[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"
}
};
webClient.UploadStringCompleted += (sender, e) =>
{
// e.Result throws an exception of type 'System.Reflection.TargetInvocationException'
// e.Error = {"The remote server returned an error: NotFound."}
// e.Error.Response.StatusCode = BadRequest
// e.Error.Response.Headers = {Cache-Control: no-store
// Pragma: no-cache
// Content-Length: 113
// Content-Type: application/json
// Server: Microsoft-IIS/8.5
// X-WLID-Error: 0x80049D58
// X-Content-Type-Options: nosniff
// Date: Sat, 31 Oct 2015 20:22:04 GMT
// Connection: close}
};
var uri = new Uri("https://login.live.com/oauth20_token.srf",UriKind.Absolute);
webClient.UploadStringAsync(uri, "POST", data);
* Затем я делаю запрос POST, чтобы получить токен обновления, но он не работает. * Доказательство? – Will