2010-02-19 598 views
1

我正嘗試使用YouTube API從瀏覽器上傳視頻。我讀谷歌API文檔,寫了這段代碼:YouTube API身份驗證問題

public static YouTubeRequest GetRequest() 
    { 
     var request = HttpContext.Current.Session["YTRequest"] as YouTubeRequest; 
     if (request == null) 
     { 
      var settings = new YouTubeRequestSettings("WebApp", "NA", ConfigurationManager.AppSettings["YouTubeAPIDeveloperKey"]); 

      settings.AutoPaging = true; 
      request = new YouTubeRequest(settings); 
      HttpContext.Current.Session["YTRequest"] = request; 
     } 
     return request; 
    } 

var youTubeRequest = GetRequest(); 
var newVideo = new Video { Title = "Title", Description = "Description" }; 
newVideo.YouTubeEntry.Private = false; 

var token = youTubeRequest.CreateFormUploadToken(newVideo); 
var postUrl = token.Url; 
var tokenValue = token.Token; 

但我總是收到此錯誤信息: 遠程服務器返回錯誤:(401)未經授權。

在這條線:

var token = youTubeRequest.CreateFormUploadToken(newVideo); 

我想我的問題是不相關的開發人員API密鑰。它從API儀表板正確抓取。

有什麼想法?

+0

忘了說,我從本地機器發送此請求。是不是重要? – 2010-02-19 14:20:20

+1

我將YoutubeRequest更改爲var settings = new YouTubeRequestSettings(「RazmpaWebApp」,「NA」, ConfigurationManager.AppSettings [「YouTubeAPIDeveloperKey」], 「--USERNAME--」, 「--PASSWORD--」); 現在我收到此錯誤: 遠程服務器返回錯誤:(400)錯誤的請求。 – 2010-02-19 19:28:49

回答

3

我自己發現了問題!

newVideo.Keywords = "some keywords"; 

是必需的,你應該發送它。

請注意,我之前解釋過,我更改了YouTubeRequest參數以擺脫401錯誤消息(請參閱我自己的意見)。