Вопрос по c# – Как использовать процедуру входа в API YouTube с помощью C #?

1

Естьэтот док. имеется в наличии. Так что я использовал

YouTubeRequestSettings settings = new YouTubeRequestSettings("Appname","devkey", textBox1.Text, textBox2.Text);
request = new YouTubeRequest(settings);

Video newVideo = new Video();
newVideo.Title = "Test";
newVideo.Tags.Add(new MediaCategory("Animals", YouTubeNameTable.CategorySchema));
newVideo.Description = "Testing Testing Testing";
newVideo.YouTubeEntry.Private = false;
newVideo.YouTubeEntry.MediaSource = new MediaFileSource("C:\\BabyBoyScenesBackground_PAL.wmv", "video/x-ms-wmv");
try
{
  request.Upload(newVideo);
}
catch (Exception ccc)
{
  MessageBox.Show(ccc.ToString());
}

Просто чтобы получить 401 несанкционированный. Что мне нужно изменить. Если вы спросите, все источники, которые я нашел, либо устарели, либо люди не занимались этим вопросом.

Для "Appname", "devkey" Я использовал соответствующие значения, а также для pw и имени пользователя.

Вы пропускаете параметр clientId вYouTubeRequestSettings или этот метод перегружен? Adam Sweeney
ему нужен параметр clientId.google-gdata.googlecode.com/svn-history/r902/docs/folder56/… prashanth
Google.YouTube.YouTubeRequestSettings не содержит конструктора, который принимает 5 аргументов, в том числе и клиентскую. На самом деле ни один конструктор не включает в себя клиентский больше. Я прочитал это устарело. Zurechtweiser
Он не принимает идентификатор клиента. Попробуйте, вы увидите. Zurechtweiser

Ваш Ответ

1   ответ
4

что в этом случае, как и ожидалось, с несанкционированной ошибкой 401, вы должны указывать неверные данные. Я попробовал ваш код, и он работал как положено, и загрузил видео. Ваш devkey, pw или имя пользователя должны быть неправильными, или должна быть проблема за пределами кода, опубликованного выше, так как он работал нормально для меня.

Тем не менее, вы должны действительно использовать фоновый рабочий для этой задачи, возможно, так:

namespace YouTube
{
    using System;
    using System.ComponentModel;
    using System.Windows;

    using Google.GData.Client;
    using Google.GData.Extensions.MediaRss;
    using Google.GData.YouTube;
    using Google.YouTube;

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private static BackgroundWorker uploader;

        private static YouTubeRequestSettings settings;

        static void UploaderDoWork(object sender, DoWorkEventArgs e)
        {
            var request = new YouTubeRequest(settings);
            var newVideo = new Video { Title = "Test" };
            newVideo.Tags.Add(new MediaCategory("Animals", YouTubeNameTable.CategorySchema));
            newVideo.Description = "Testing Testing Testing";
            newVideo.YouTubeEntry.Private = true;
            newVideo.YouTubeEntry.MediaSource = new MediaFileSource("C:\\Wildlife.wmv", "video/x-ms-wmv");            
            try
            {
                request.Upload(newVideo);
            }
            catch (Exception exception)
            {
                MessageBox.Show("Upload failed: " + exception.Message);
            }
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            settings = new YouTubeRequestSettings(
                "app",
                "devkey",
                "email",
                "password");
            uploader = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true };
            uploader.DoWork += UploaderDoWork;
            uploader.RunWorkerCompleted += delegate { MessageBox.Show("Upload completed!"); };
            uploader.RunWorkerAsync();
            MessageBox.Show("Initiated upload...");
        }
    }
}

Надеюсь, вы разберетесь!

Error: User Rate Limit Exceededstackoverflow.com/questions/30306509/…Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Zurechtweiser
Error: User Rate Limit Exceeded Zurechtweiser
Error: User Rate Limit Exceeded Zurechtweiser

Похожие вопросы