첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.

728x90
반응형
728x170

TestProject.zip
0.00MB

▶ Program.cs

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Web;

using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Util.Store;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;

namespace TestProject
{
    /// <summary>
    /// 프로그램
    /// </summary>
    class Program
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Static
        //////////////////////////////////////////////////////////////////////////////// Private

        #region 프로그램 시작하기 - Main()

        /// <summary>
        /// 프로그램 시작하기
        /// </summary>
        private static void Main()
        {
            #region 구글 OAuth2 인증을 한다.

            string clientSecretsFilePath = @"E:\client_secret.json"; // 클라이언트 시크릿 파일 경로를 설정한다.

            UserCredential credential;

            using(FileStream stream = new FileStream(clientSecretsFilePath, FileMode.Open, FileAccess.Read))
            {
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync
                (
                    GoogleClientSecrets.FromStream(stream).Secrets,
                    new[] { YouTubeService.Scope.Youtube },
                    "user",
                    CancellationToken.None,
                    new FileDataStore("TestProject")
                ).GetAwaiter().GetResult();
            }

            #endregion
            #region 유튜브 서비스를 설정한다.

            YouTubeService service = new YouTubeService
            (
                new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = "TestProject"
                }
            );

            #endregion
            #region 비디오 요청을 설정한다.

            VideosResource.ListRequest videoRequest = service.Videos.List("Snippet");

            videoRequest.Id = "VCjUoTh7aes"; // 비디오 ID

            #endregion
            #region 비디오를 설정한다.

            VideoListResponse videoResponse = videoRequest.Execute();

            Video video = videoResponse.Items.First();

            #endregion

            video.Snippet.Title = HttpUtility.HtmlEncode("테스트 동영상");
            video.Snippet.Tags  = new List<string> { "테스트", "동영상" };

            #region 비디오를 수정한다.

            VideosResource.UpdateRequest videoUpdateRequest = service.Videos.Update(video, "Snippet");

            videoUpdateRequest.Execute();

            #endregion
        }

        #endregion
    }
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요