api den anlayan konuya !!!

TolgaDemo

Kayıtlı Üye
Katılım
5 Mart 2015
Mesajlar
3.566
Tepkime puanı
0
Puan
36
Konum
İstanbul
Kendi yazdıgım upload botunda api hatası alıyorum anlayan varsa ucretli ucretsiz yardımlarını bekliyorum

Gdata client hatası


PnQ3Ld.png


Kod:
YouTubeRequestSettings settings = new YouTubeRequestSettings(ApplicationName, devkey, username, password) { Timeout = -1 };
                YouTubeRequest request = new YouTubeRequest(settings);
          
                
                    
                Video newVideo = new Video();
                newVideo.Title = Title;
                newVideo.Keywords = Etiket;
                newVideo.Tags.Add(new MediaCategory(Kategori, YouTubeNameTable.CategorySchema));
                newVideo.Description = Description;
                newVideo.YouTubeEntry.Private = false;
                newVideo.YouTubeEntry.MediaSource = new MediaFileSource(FilePath, "video/avi");
       
                
             Video createdVideo =request.Upload(newVideo);
 
Son düzenleme:
hatanın mesajını yazarmısın gdata neyin hatası? detaylı anlatırmısın :D
 
hatanın mesajını yazarmısın gdata neyin hatası? detaylı anlatırmısın :D

pm atildi hocam

---------- Spam Engelliyici 22:27 ---------- Önceki Mesaj 21:33 ----------

@era [MENTION=7797]Web_Scripti[/MENTION] [MENTION=17398]Lastwisher[/MENTION] [MENTION=8450]Rigobert[/MENTION] hocalarim sizden yardım bekliyorum.
 
Direkt konuya yazarsanız hem herkes görür çözüme daha kolay ulaşırsınız hemde başka karşılaşan varsa onada yardımcı olmuş olur konu.
 
Yükleme yaptırdığın fonksiyonu ekler misin buraya muhtemelen eksik parametreler var fonksiyonda
 
Kendi yazdıgım upload botunda api hatası alıyorum anlayan varsa ucretli ucretsiz yardımlarını bekliyorum

Gdata client hatası


PnQ3Ld.png


Kod:
YouTubeRequestSettings settings = new YouTubeRequestSettings(ApplicationName, devkey, username, password) { Timeout = -1 };
                YouTubeRequest request = new YouTubeRequest(settings);
          
                
                    
                Video newVideo = new Video();
                newVideo.Title = Title;
                newVideo.Keywords = Etiket;
                newVideo.Tags.Add(new MediaCategory(Kategori, YouTubeNameTable.CategorySchema));
                newVideo.Description = Description;
                newVideo.YouTubeEntry.Private = false;
                newVideo.YouTubeEntry.MediaSource = new MediaFileSource(FilePath, "video/avi");
       
                
             Video createdVideo =request.Upload(newVideo);


dediğim gibi fonksiyon hatalı hocam hatalarınızı ve yapmanız gerekenleri yazıyorum..

1 - Yükleme işlemi api v1 de bu şekildeydi şuan api v3 kullanıyor youtube api v1 suspend edildi

2 - Öncelikle bir async fonksiyon oluşturmalısınız

3 - Nuget ile Google.Apis.YouTube.v3 paketini import etmelisiniz

4 - api v3 te yükleme yaptırabilmek için bir credentials oluşturmanız gerekiyor bu da yazılıma bir kanal bağlamanız anlamına geliyor google developer console'den youtube developer consoluna girip kanalınıza bir uygulama oluşturmalısınız oluşturduğunuz uygulamanın client_secret dosyasını indirip aşağıdaki kod bloğunda konumunu belirtmelisiniz

Kod:
UserCredential credential;
      using (var stream = new FileStream("client_secrets.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
      });

bu şekilde sorunsuz yaparsanız varsayılan tarayıcı da kanalı yazılıma bağlamak istiyor musunuz gibi bir soru çıkıcaktır onaylarsanız, artık kanal sizin elinizde..

5 - aynı fonksiyon içinde şimdi de yükleme işlemini yaptırmalısınız

Kod:
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.

      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();
      }

buraları da kendiniz düzenlemelisiniz

6 - aşağıdaki eventleri de extends olarak eklediğiniz de yükleme hakkında bilgilere erişebilirsiniz..

Kod:
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);
    }


Dipnot : biraz kafanız karışmış olabilir google'in dökümantasyonuna bakarak da ilerleyebilirsiniz

https://developers.google.com/youtube/v3/docs/videos/insert
 
Kişiselleştirme

Tema editörü

Ayarlar Renkler

  • Mobil kullanıcılar bu fonksiyonları kullanamaz.

    Alternatif header

    Farklı bir görünüm için alternatif header yapısını kolayca seçebilirsiniz.

    Görünüm Modu Seçimi

    Tam ekran ve dar ekran modları arasında geçiş yapın.

    Izgara Görünümü

    Izgara modu ile içerikleri kolayca inceleyin ve düzenli bir görünüm elde edin.

    Resimli Izgara Modu

    Arka plan görselleriyle içeriğinizi düzenli ve görsel olarak zengin bir şekilde görüntüleyin.

    Yan Paneli Kapat

    Yan paneli gizleyerek daha geniş bir çalışma alanı oluşturun.

    Sabit Yan Panel

    Yan paneli sabitleyerek sürekli erişim sağlayın ve içeriğinizi kolayca yönetin.

    Box görünüm

    Temanızın yanlarına box tarzı bir çerçeve ekleyebilir veya mevcut çerçeveyi kaldırabilirsiniz. 1300px üstü çözünürler için geçerlidir.

    Köşe Yuvarlama Kontrolü

    Köşe yuvarlama efektini açıp kapatarak görünümü dilediğiniz gibi özelleştirin.

  • Renginizi seçin

    Tarzınızı yansıtan rengi belirleyin ve estetik uyumu sağlayın.

Geri