Reputation: 765
I am using the code below to upload a video to YouTube. It works with one of my YouTube accounts but with the other one it does not work. I just replace the Client Id and Client Secret to switch between YouTube accounts. Any ideas on why it does not work with my other YouTube account?
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description)
{
ClientIdentifier = ClientId,
ClientSecret = ClientSecret
};
var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization);
var youtube = new YouTubeService(new BaseClientService.Initializer()
{
Authenticator = auth
});
var video = new Video();
video.Snippet = new VideoSnippet();
video.Snippet.Title = "Demo 1";
video.Snippet.Description = "Demo 1a";
video.Snippet.Tags = new string[] { "tag1", "tag2" };
video.Snippet.CategoryId = "22";
video.Status = new VideoStatus();
video.Status.PrivacyStatus = "private";
var filePath = @"C:\wildlife.wmv";
var fileStream = new FileStream(filePath, FileMode.Open);
var videosInsertRequest = youtube.Videos.Insert(video, "snippet,status", fileStream, "video/*");
videosInsertRequest.ProgressChanged += videosInsertRequest_ProgressChanged;
videosInsertRequest.ResponseReceived += videosInsertRequest_ResponseReceived;
var uploadThread = new Thread(() => videosInsertRequest.Upload());
uploadThread.Start();
uploadThread.Join();
Upvotes: 1
Views: 561
Reputation: 12877
You don't need to change client id and secret to upload into different accounts. Client id and secret define the developer, for the channel that the upload will happen, you only need to authorize with that login.
Upvotes: 1