2013-02-01 292 views
0

我的網頁是在.net中開發的,我正嘗試使用以下代碼向YouTube視頻添加評論。將評論添加到youtube視頻

 string lsDeveloperKey = "myDeveloperKey"; 

    //This will ask user to login to accounts.google for posting comment 
     if (!Request.QueryString.AllKeys.Contains("token")) 
     { 
      string lsUserName = "myusername"; 
      string lsPassword = "mypassword"; 

      YouTubeRequestSettings loSettings = new YouTubeRequestSettings(Keys.PortalName, lsDeveloperKey, lsUserName, lsPassword); 
      YouTubeRequest loRequest = new YouTubeRequest(loSettings); 

      Uri videoEntryUrl = new Uri(string.Format("{0}/{1}", Google.GData.YouTube.YouTubeQuery.DefaultVideoUri, "ofjQ_Gf5CQc")); 
      Google.YouTube.Video loVideo = loRequest.Retrieve<Google.YouTube.Video>(videoEntryUrl); 

      string lsRandomVideoId = getRandomId() + loVideo.VideoId; 
      Session[lsRandomVideoId] = loVideo; ; 

      Response.Redirect(AuthSubUtil.getRequestUrl(Request.Url.ToString() + "?v=" + lsRandomVideoId, "http://gdata.youtube.com", false, true)); 
     } 

    //This will post a comment for logged user 
     else 
     { 
      Session["token"] = AuthSubUtil.exchangeForSessionToken(Request.QueryString["token"], null).ToString(); 

      YouTubeRequestSettings loSettings = new YouTubeRequestSettings(Keys.PortalName, lsDeveloperKey, (String)   Session["token"]); 
      YouTubeRequest loRequest = new YouTubeRequest(loSettings); 

      Video loVideo = (Video)Session[Request.QueryString["v"]]; 

      Comment loComment = new Comment(); 
      loComment.Content = "This is my comment from my app"; 
      loRequest.AddComment(loVideo, loComment); 
     } 
    } 

該代碼執行時沒有任何錯誤。如果我使用「myusername」&「mypassword」登錄,它也發佈評論。

但是,如果我用它給我下面的錯誤任何其他用戶登錄: ë

Execution of request failed: 

https://gdata.youtube.com/feeds/api/videos/ofjQ_Gf5CQc/comments

Stacktrace: at Google.GData.Client.GDataRequest.Execute() at 
Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter) at 
Google.GData.Client.GDataGAuthRequest.Execute() at 
Google.GData.Client.Service.EntrySend(Uri feedUri, AtomBase baseEntry, 
GDataRequestType type, AsyncSendData data) at 
Google.GData.Client.MediaService.EntrySend(Uri feedUri, AtomBase 
baseEntry, GDataRequestType type, AsyncSendData data) at 
Google.GData.Client.Service.Insert(Uri feedUri, AtomEntry newEntry, 
AsyncSendData data) at Google.GData.Client.Service.Insert[TEntry](Uri 
feedUri, TEntry entry) at 
Google.YouTube.YouTubeRequest.AddComment(Video v, Comment c) at 
YouTubeComment.Page_Load(Object sender, EventArgs e) 

我已經爲此工作了很多。我不確定這裏有什麼問題。任何幫助,將不勝感激。

回答