Моя проблема возникает после получения токена сеанса от Google БЕЗОПАСНО
Вот что я сделал.1) Получить одноразовый токен
string authSubUrl = AuthSubUtil.getRequestUrl("https://some.com/mypage.aspx", "http://gdata.youtube.com", true, true);
Response.Redirect(authSubUrl);
2) Обмен на сеансовый токен
Session["YT_Token"] = AuthSubUtil.exchangeForSessionToken(Request.QueryString["token"], getRsaKey());
Функция getRsaKey () найдена в Использование AuthSub с клиентской библиотекой .NET
3) Сделайте запрос на YouTube
YouTubeRequestSettings settings = new YouTubeRequestSettings("my app name", "Google.Client.ID", "Google.Youtube.DeveloperKey", (string)Session["YT_Token"]);
YouTubeRequest ytRequest = new YouTubeRequest(settings);
...
Video newVideo = new Video();
newVideo.Title = "blah";
newVideo.Tags.Add(new MediaCategory("People", YouTubeNameTable.CategorySchema));
newVideo.Description = "des";
newVideo.YouTubeEntry.Private = true;
FormUploadToken formToken = ytRequest.CreateFormUploadToken(newVideo);
Здесь я получаю сообщение об ошибке.На ytRequest.CreateFormUploadToken.Я получаю это
Execution of request failed: http://gdata.youtube.com/action/GetUploadToken Google.GData.Client.GDataRequestException: Execution of request failed: http://gdata.youtube.com/action/GetUploadToken ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse()
ResponseString is yt:authenticationUnknown
Код работает нормально, если я НЕ использую безопасный AuthSub (то есть, устанавливаю для secure значение false на шаге 1 и ноль вместо getRsaKey () на шаге 2).Может кто-нибудь сказать мне, что мне не хватает?
Большое спасибо!