youtube api获取特定的视频返回readonly

时间:2013-01-14 18:55:30

标签: asp.net vb.net youtube youtube-api youtube.net-api

我正在尝试将一些youtube功能集成到我的网站中。我可以上传我的上传内容。当我通过结果循环时,我看到视频不是只读的。

然而,当我去更新视频时,我使用视频源播放特定视频,该视频返回readonly = TRUE !!

我正在使用相同的设置并请求我用来提取上传Feed,所以我不确定为什么这不起作用。

调试时,我收到了视频,但它在.Update()行上抛出了对象引用错误。

Dim settings As New YouTubeRequestSettings("exampleapp", BusinessLayer.Constants.YOUTUBE_DEV_KEY, Session("token"))
Dim ytRequest As New YouTubeRequest(settings)

Dim videoEntryUrl As String = "http://gdata.youtube.com/feeds/api/videos/" & litVideoId.Text
Dim v As Video = ytRequest.Retrieve(Of Video)(New Uri(videoEntryUrl))

If v IsNot Nothing Then

    v.Title = txtTitle.Text.Trim
    ytRequest.Update(Of Video)(v)

End If

有没有人看到或处理过此事?思考?也许我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你因路径而得到对象引用错误。请参阅下面的示例:

 YouTubeRequestSettings settings = new YouTubeRequestSettings("NETUnittests", YTDeveloperKey, YTUser, YTPassword);

        settings.Timeout = 10000000;
        YouTubeRequest request = new YouTubeRequest(settings);
        Google.YouTube.Video video = new Google.YouTube.Video();
        //video.VideoId = lblVideoID.Text;

        //http://gdata.youtube.com/feeds/api/users/USER_ID/uploads/VIDEO_ID

    Uri videoEntryUrl = new Uri("http://gdata.youtube.com/feeds/api/users/default/uploads/" + lblVideoID.Text);    video = request.Retrieve<Google.YouTube.Video>(videoEntryUrl);

        if (video.ReadOnly == false)
        {

        }

        string tt = video.Title;
        string dd = video.Description;

        video.Title = tbTitle.Text;
        video.Description = tbDescription.Text;
        video.Keywords = tbKeywords.Text;

        //video.Status.Value = "private";
        request.Update(video);