2013-02-01 300 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) 

我已经为此工作了很多。我不确定这里有什么问题。任何帮助,将不胜感激。

回答