Попробуйте использовать WindowsLiveClient, а не создавать собственный веб-запрос с нуля. Я попробовал пример кода в документации, и он отлично работал со мной. Это предполагает, что люди уже вошли в Windows Live, а сеанс хранится в «сеансе».
if (session == null)
{
infoTextBlock.Text = "You must sign in first.";
}
else
{
Dictionary<string, object> folderData = new Dictionary<string, object>();
folderData.Add("name", "A brand new folder");
LiveConnectClient client = new LiveConnectClient(session);
client.PostCompleted +=
new EventHandler<LiveOperationCompletedEventArgs>(CreateFolder_Completed);
client.PostAsync("me/skydrive", folderData);
}
И, кроме того, есть функция, которая должна запускаться после завершения операции, для перехвата ошибок.
void CreateFolder_Completed(object sender, LiveOperationCompletedEventArgs e)
{
if (e.Error == null)
{
infoTextBlock.Text = "Folder created.";
}
else
{
infoTextBlock.Text = "Error calling API: " + e.Error.ToString();
}
}
Согласно w3, ошибка, которую вы получаете, возникает, когда вы делаете HTTP206-запрос , составной запрос. Документация REST API для Windows Live также говорит об этом, но не в контексте создания папок, что предполагает, что запрос разделения выполняется где-то во встроенном LiveConnectClient.