2016-03-22 48 views
0

i YouTube'a video yükleme çalışıyorum çalışan ancak maalesef YouTube geliştiricileri tarafından sağlanan APIYouTube Veri API benim uygulamadan, YouTube verileri API kullanarak mvc

https://developers.google.com/youtube/v3/code_samples/dotnet#upload_a_video

üç hafta önce çalışmıyor, kodu test ettim ve gayet iyi çalışıyordu ama şimdi nihayet uygulamamda kullanmaya çalıştığım zaman, sorun tüm kodun düzgün çalışmasına neden oluyor, ancak video yükleme işlemi başladığında yükleme oluyor ve yükleme ve video google onu yükledim ama herhangi bir yardım bulamıyor. Birisi bana yardım edebilir mi? Burada ben

private async Task Run() 
     { 
      UserCredential credential; 
      using (var stream = new FileStream("G:\\client_secret_783534382593-0cn4gm229raqq97kdu0ghsj9hqfsc5o1.apps.googleusercontent.com.json", FileMode.Open, FileAccess.Read)) 
      { 
       credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets, 
        // This OAuth 2.0 access scope allows an application to upload files to the 
        // authenticated user's YouTube channel, but doesn't allow other types of access. 
        new[] { YouTubeService.Scope.YoutubeUpload }, 
        "user", 
        CancellationToken.None 
       ); 
      } 

      var youtubeService = new YouTubeService(new BaseClientService.Initializer() 
      { 
       HttpClientInitializer = credential, 
       ApplicationName = Assembly.GetExecutingAssembly().GetName().Name 
      }); 

      var video = new Video(); 
      video.Snippet = new VideoSnippet(); 
      video.Snippet.Title = "ttry"; 
      video.Snippet.Description = " Video Description"; 
      video.Snippet.Tags = new string[] { "tag1s", "tag2s" }; 
      video.Snippet.CategoryId = "22"; // See https://developers.google.com/youtube/v3/docs/videoCategories/list 
      video.Status = new VideoStatus(); 
      video.Status.PrivacyStatus = "public"; // or "private" or "publi 
      var filePath = "F:\\Dna.MP4"; // Replace with path to actual movie file. 

      using (var fileStream = new FileStream(filePath, FileMode.Open)) 
      { 
       var videosInsertRequest = youtubeService.Videos.Insert(video, "snippet,status", fileStream, "video/*"); 
       videosInsertRequest.ProgressChanged += videosInsertRequest_ProgressChanged; 
       videosInsertRequest.ResponseReceived += videosInsertRequest_ResponseReceived; 

       await videosInsertRequest.UploadAsync(); 
      } 
     } 

     void videosInsertRequest_ProgressChanged(Google.Apis.Upload.IUploadProgress progress) 
     { 
      switch (progress.Status) 
      { 
       case UploadStatus.Uploading: 
        Console.WriteLine("{0} bytes sent.", progress.BytesSent); 
        break; 

       case UploadStatus.Failed: 
        Console.WriteLine("An error prevented the upload from completing.\n{0}", progress.Exception); 
        break; 
      } 
     } 

     void videosInsertRequest_ResponseReceived(Video video) 
     { 
      Console.WriteLine("Video id '{0}' was successfully uploaded.", video.Id); 
     } 
    } 
} 

kullanıyorum benim kodudur ve ben sadece bu eylemi neden çalışmadığını merak ediyorum

public ActionResult Contact() 
     { 
      Run().Wait(); 

      return View(); 
     } 

onu arıyorum? Ben hata ayıklama sonra tüm şeyler ve parametreler iyi bile kimlik bilgileri de iyi ama sonunda dosya yükleme değil ben bile 1 MB dosya seçiyorum ve ben de gerekli tüm NuGet paketleri dahil nazikçe bir yardım lütfen bana lütfen?

cevap

1

sorun sadece alın Fonksiyon kod bazı bit ekleyerek çözebileceğimizi

public async Task<ActionResult> Contact() 
{ 
    await Run(); 
    return View(); 
} 
İlgili konular