5

我在 2010 年使用 C# .NET 2.0 winform,添加了用户登录和发表评论的功能。我复制了 .NET 开发人员指南中的如何发表评论,但在尝试发表评论时出现随机但频繁的异常。起初我认为这可能是因为使用 google 电子邮件而不是 youtube 登录名存在一些问题,当用户成功登录时,为了解决这个问题,我请求配置文件,获取用户名并创建一个新的youtube 设置类,并使用用户个人资料名称提供适当的凭据。然而,这并没有解决问题,评论仍然偶尔有效。这是基本上处理登录的代码。

       youtubeService.setUserCredentials(userBox.Text, passwordBox.Text);

        try
        {
            String strAuth = youtubeService.QueryClientLoginToken();
        }
        catch (Exception ex)
        {
        }         

上面的代码是一个单独的表单,托管 youtube 视频的表单基本上是查看此过程是否已完成,并获取用于登录的用户名、密码并设置新设置:

                m_LoggedInSettings = new YouTubeRequestSettings(myappname, mydevkey, username, password);
                m_LoggedInRequest = new YouTubeRequest(m_LoggedInSettings); 

然后用于添加评论:

                Comment userComment = new Comment();
                userComment.Content = commentText;
                m_LoggedInRequest.AddComment(youtubevideo, userComment);   

当它失败时,我得到以下信息:

{“请求执行失败:https ://gdata.youtube.com/feeds/api/videos/t-8K8Hj8bxE/comments ”}

使用以下信息:

{“远程服务器返回错误:(403) Forbidden。”}

状态码:

System.Net.HttpStatusCode.Forbidden

状态说明:

禁止的

我想到了几件事,我没有适当的注销来立即向 youtube 发送任何内容(这需要吗?),所以可能是我已经登录了多次,并且不知何故在 youtube 上标记边?也可能是我本质上是在创建新的设置并请求未用于获取视频/评论的对象,也许从正常设置文件(没有登录)中获取的视频出现问题或类似的问题?老实说,我不知道出了什么问题,任何帮助都会非常感激。

4

1 回答 1

1

好的,所以我发现他们出错的原因是因为我试图太快地发布连续评论,但是我不知道能够发布更多评论的超时时间是多少。

于 2012-04-17T10:02:44.517 回答