環境
- Windows 10
- VisualStudio 2017
参考
.NET コード サンプル
https://developers.google.com/youtube/v3/code_samples/dotnet?hl=ja
Google API OAuth2.0のトークン取得手順
https://qiita.com/giiko_/items/b0b2ff41dfb0a62d628b
プロジェクト作成
ファイル→新規作成→プロジェクト
から、C#のコンソールアプリを選択。
ファイル名とプロジェクトの保存場所を入力しOK。
YouTube Apiの取得
プロジェクト→NuGetパッケージの管理を開き、参照から「Google.Apis.YouTube.v3」を検索し、インストールする。
サンプルコードを持ってくる
https://github.com/youtube/api-samples
上記からファイルをCloneし、dotnet/Google.Apis.YouTube.Samples.UploadにあるUploadVideo.csの中身をコピーし、作成したプロジェクトにコピーする(初期だとProgram.cs)
このまま実行すると、"client_secrets.json"が無いとエラーが出るので、先程ダウンロードしたサンプルのdotnet内にあるclient_secrets.jsonをエラーが出ているパスにコピーする。
Google Api OAuth2.0の承認情報の取得
https://console.developers.google.com
を開き、「プロジェクトを作成」を選択。
サイドバーから「ライブラリ」を選択し、「YouTube Data Api v3」を検索し、設定を有効にする。
次にサイドバーの「承認情報」を開き、「承認情報を作成」を選択。
作成すると、「client id」「client secret」「redirect uri」が取得できる。何も入力していない場合は「redirect uri」は"http://localhost"となる。
これらの情報を先程コピーした「client_secrets.json」ファイルに書き込む。
動画情報の入力
サンプルプログラムのRun()内にある以下を書き換えることでアップロードする動画の情報を変更できる。
var video = new Video();
video.Snippet = new VideoSnippet();
video.Snippet.Title = "Default Video Title";
video.Snippet.Description = "Default Video Description";
video.Snippet.Tags = new string[] { "tag1", "tag2" };
video.Snippet.CategoryId = "22"; // See https://developers.google.com/youtube/v3/docs/videoCategories/list
video.Status = new VideoStatus();
video.Status.PrivacyStatus = "unlisted"; // or "private" or "public"
var filePath = @"REPLACE_ME.mp4"; // Replace with path to actual movie file.