• 10-09-2014, 16:37:09
    #10
    pcmania adlı üyeden alıntı: mesajı görüntüle
    Sorunda orada zaten hocam. Twitter sitesi bize bu konuda yeteri kadar bilgi sunmamış kodlarında. Yani ID verilmemiş. Başka şeyler türetmeye çalışıyorum.

    Haklısınız hocam. Twitter'ın mobile versiyonu üzerinden rahatlıkla Tweet atma işlemini halledebildim fakat; yazdığım program dahilinde anasayfadaki rastgele bir kullanıcıya cevap atmak istediğim zaman, Twitter'ın mobile sürümünde "yanıtla" butonuna ait hiçbir bilgi yok. Yani cevap atma kısmında tıkandığım için, projeyi bu sefer de masaüstü site üzerinden geliştirmeye devam ettim. Masaüstü site üzerinden geliştirirken de bir yere kadar geldim ve en sonunda şu buton olayında tıkandım. Konudaki ekran görüntüsü asıl proje değil. Konuyu daha iyi anlatabilmem açısından oluşturduğum ufak bir örnekti sadece..


    Bakınız, Twitter mobil sitesinde cevap butonuna ait bilgiler şunlar;
    <img alt="Yanıtla" src="https://ma.twimg.com/twitter-mobile/5741cf681d9093bab6a9982e82d75c9cdf7235db/images/sprites/detail_reply.gif">
    Başkada bir bilgi yok elimde. Ayrıca masaüstü sitesindeki mavi olan "Tweetle" butonu ile ilgili de sadece şu bilgi var elimizde;
    <button class="btn primary-btn tweet-action tweet-btn js-tweet-btn" type="button">
      <span class="button-text tweeting-text">
        <span class="Icon Icon--tweet"></span>
        Tweetle
      </span>
      <span class="button-text messaging-text">
        <span class="Icon Icon--dm Icon--small"></span>
        Mesaj gönder
      </span>
    </button>


    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:35:08 -->-> Daha önceki mesaj 16:25:41 --




    Malesef olmadı hocam. Yine Tweet oluştur ekranında kaldı program. Mavi "Tweetle" butonuna tıklamadı.
    http://social.msdn.microsoft.com/For...forum=csharptr
    İşinizi görecektir
  • 10-09-2014, 16:52:16
    #11
    Kimlik doğrulama veya yönetimden onay bekliyor.
            private void Form1_Load(object sender, EventArgs e)
            {
                //Olayın püf noktası aşağıdaki formu açtırmaktır.
                webBrowser1.Navigate("https://mobile.twitter.com/compose/tweet");
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                foreach (HtmlElement Html in webBrowser1.Document.Body.All)
                {
                    //name niteliği "tweet[text]" olanı bul
                    if (Html.GetAttribute("name") == "tweet[text]")
                    {
                        //Bulduktan sonra value özelliğine yazılacak twitti yaz
                        Html.SetAttribute("value", "Bu twit Atılacak");
                        continue; //Bulduktan sonra devam et boş boş dönme
                        
                    }
                    //name niteliği "commit" olanı bul
                    if (Html.GetAttribute("name") == "commit")
                    {
                        //Tıkla
                        Html.InvokeMember("click");
                        break; // Twit attıktan sonra foreach ı sonlandır boşa dönme
                    }
                }
            }
    Hadi geçmiş olsun.
  • 10-09-2014, 17:19:16
    #12
    Webkurum adlı üyeden alıntı: mesajı görüntüle
    Tam da benim istediğim konu aslında ama nedense bir türlü çalışmadı. Bu örneğe bakarak farklı farklı şeyler türetmeye çalışıyorum şuanda. Yardımlarınız için teşekkür ederim. Sonuca ulaşamasam da henüz, iyi bir ilerleme kaydettiğimizi düşünüyorum. Eğer buna benzer konular varsa onların da linkini incelemek isterim hocam.


    betmo adlı üyeden alıntı: mesajı görüntüle
            private void Form1_Load(object sender, EventArgs e)
            {
                //Olayın püf noktası aşağıdaki formu açtırmaktır.
                webBrowser1.Navigate("https://mobile.twitter.com/compose/tweet");
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                foreach (HtmlElement Html in webBrowser1.Document.Body.All)
                {
                    //name niteliği "tweet[text]" olanı bul
                    if (Html.GetAttribute("name") == "tweet[text]")
                    {
                        //Bulduktan sonra value özelliğine yazılacak twitti yaz
                        Html.SetAttribute("value", "Bu twit Atılacak");
                        continue; //Bulduktan sonra devam et boş boş dönme
                        
                    }
                    //name niteliği "commit" olanı bul
                    if (Html.GetAttribute("name") == "commit")
                    {
                        //Tıkla
                        Html.InvokeMember("click");
                        break; // Twit attıktan sonra foreach ı sonlandır boşa dönme
                    }
                }
            }
    Hadi geçmiş olsun.
    Hocam mobile site ile Tweet attırmayı ben de yapabildim zaten. Ellerinize sağlık uğraşmışsınız ama ben bu işlemi masaüstü Twitter versiyonunda gerçekleştirmek istiyorum. yazdığım program dahilinde anasayfadaki rastgele bir kullanıcıya cevap atmak istediğim zaman, Twitter'ın mobile sürümünde "yanıtla" butonuna ait hiçbir bilgi yok. Yani cevap atma kısmında tıkandığım için, projeyi bu sefer de masaüstü site üzerinden geliştirmeye devam ettim.

    Çünkü yanıtla butonu ile ilgili şu bilgiden başka bir bilgi yok elimizde;
    <img alt="Yanıtla" src="https://ma.twimg.com/twitter-mobile/5741cf681d9093bab6a9982e82d75c9cdf7235db/images/sprites/detail_reply.gif">
    O yüzden masaüstü ile tweet atmanın yollarını aramaya başladım. Onu halledebilirsem, yanıt yaparken tıklanan "Tweetle" butonunun da çözümünü bulmuş olurum aynı zamanda.
  • 10-09-2014, 17:28:59
    #13
    pcmania adlı üyeden alıntı: mesajı görüntüle
    Tam da benim istediğim konu aslında ama nedense bir türlü çalışmadı. Bu örneğe bakarak farklı farklı şeyler türetmeye çalışıyorum şuanda. Yardımlarınız için teşekkür ederim. Sonuca ulaşamasam da henüz, iyi bir ilerleme kaydettiğimizi düşünüyorum. Eğer buna benzer konular varsa onların da linkini incelemek isterim hocam.




    Hocam mobile site ile Tweet attırmayı ben de yapabildim zaten. Ellerinize sağlık uğraşmışsınız ama ben bu işlemi masaüstü Twitter versiyonunda gerçekleştirmek istiyorum. yazdığım program dahilinde anasayfadaki rastgele bir kullanıcıya cevap atmak istediğim zaman, Twitter'ın mobile sürümünde "yanıtla" butonuna ait hiçbir bilgi yok. Yani cevap atma kısmında tıkandığım için, projeyi bu sefer de masaüstü site üzerinden geliştirmeye devam ettim.

    Çünkü yanıtla butonu ile ilgili şu bilgiden başka bir bilgi yok elimizde;
    <img alt="Yanıtla" src="https://ma.twimg.com/twitter-mobile/5741cf681d9093bab6a9982e82d75c9cdf7235db/images/sprites/detail_reply.gif">
    O yüzden masaüstü ile tweet atmanın yollarını aramaya başladım. Onu halledebilirsem, yanıt yaparken tıklanan "Tweetle" butonunun da çözümünü bulmuş olurum aynı zamanda.

    Tam olarak yapmak istediğin nedir? Tam olarak kodlara ne iş yaptırmak istediğini açık ve net şekilde, adım adım yazarsan yardımcı olabiliriz.

    Masaüstünden yapılabilir ama uğraşmak gerek açıkçası uğraşmak istemedim çünkü js kodlarıı ayıklayıp elementleri seçtirmek gerek. Açıkçası kod kalabalığı. Tam ne istiyorsan yazarsan yardımcı olalım.
  • 10-09-2014, 18:03:20
    #14
    betmo adlı üyeden alıntı: mesajı görüntüle
    Tam olarak yapmak istediğin nedir? Tam olarak kodlara ne iş yaptırmak istediğini açık ve net şekilde, adım adım yazarsan yardımcı olabiliriz.

    Masaüstünden yapılabilir ama uğraşmak gerek açıkçası uğraşmak istemedim çünkü js kodlarıı ayıklayıp elementleri seçtirmek gerek. Açıkçası kod kalabalığı. Tam ne istiyorsan yazarsan yardımcı olalım.

    Asıl yapmak istediğim şey, rastgele birinin Tweetini cevaplamak. Kodları, Twitter'ın mobile sitesine göre C#'ta kodladığım zaman, cevapla butonunda sorun yaşıyorum. Mobile sitedeki cevaplama butonunda sorun yaşadğm için bu işlemi Twitter masaüstü sitesinden gerçekleştirmek istedim.

    Bunu yapabilmek için de, program Tweet'i yazdıktan sonra, "Tweetle" butonuna tıklaması lazım ama bir türlü tıklamıyor. Tweet butonuna tıklatamama ile ilgili bu sorunumu konuda belirttim zaten.


    Eğer siz, kodlama yaparken mobile site üzerinden daha rahat kodlama yaparım diyorsanız o zaman tam olarak şu konuda yardımcı olmanızı istiyorum..

    Aşağıdaki resme bakın, şu yuvarlak içine aldığım "yanıtla" ikonuna, C# programının tıklamasını istiyorum. Asıl yapamadığım ve yapmaya çalıştığım şey bu aslında;

  • 10-09-2014, 18:05:19
    #15
    img taglarını al hocam, alt attribute ü "Yanıtla" olan item i bul ve invokemember ile click i çalıştır
  • 10-09-2014, 18:28:50
    #16
    pcmania adlı üyeden alıntı: mesajı görüntüle
    Asıl yapmak istediğim şey, rastgele birinin Tweetini cevaplamak. Kodları, Twitter'ın mobile sitesine göre C#'ta kodladığım zaman, cevapla butonunda sorun yaşıyorum. Mobile sitedeki cevaplama butonunda sorun yaşadğm için bu işlemi Twitter masaüstü sitesinden gerçekleştirmek istedim.

    Bunu yapabilmek için de, program Tweet'i yazdıktan sonra, "Tweetle" butonuna tıklaması lazım ama bir türlü tıklamıyor. Tweet butonuna tıklatamama ile ilgili bu sorunumu konuda belirttim zaten.


    Eğer siz, kodlama yaparken mobile site üzerinden daha rahat kodlama yaparım diyorsanız o zaman tam olarak şu konuda yardımcı olmanızı istiyorum..

    Aşağıdaki resme bakın, şu yuvarlak içine aldığım "yanıtla" ikonuna, C# programının tıklamasını istiyorum. Asıl yapamadığım ve yapmaya çalıştığım şey bu aslında;

    Mobil için ilk bulduğu "yanıtla" tuşuna tıklar.

                foreach (HtmlElement Html in webBrowser1.Document.Body.All)
                {
                    //title niteliği "Yanıtla" olanı bul
                    if (Html.GetAttribute("title") == "Yanıtla")
                    {
                        //Tıkla
                        Html.InvokeMember("click");
                        continue;
                        
                    }
                }
  • 10-09-2014, 18:39:11
    #17
    http://restsharp.org/ api şeklinde yapın gitsin
  • 10-09-2014, 18:59:10
    #18
    betmo adlı üyeden alıntı: mesajı görüntüle
    Mobil için ilk bulduğu "yanıtla" tuşuna tıklar.

                foreach (HtmlElement Html in webBrowser1.Document.Body.All)
                {
                    //title niteliği "Yanıtla" olanı bul
                    if (Html.GetAttribute("title") == "Yanıtla")
                    {
                        //Tıkla
                        Html.InvokeMember("click");
                        continue;
                        
                    }
                }
    Süpersiniz hocam. Ellerinize sağlık. Tam da istediğim gibi çalıştı. Fakat Tweet attırma aşamasına gelince bir sorun daha çıktı ortaya. Mesele textbox üzerinden yazılan Tweet'i, cevap olarak Twitter'daki kutucuğa gönderdiğim zaman, cevap kutucuğunun başında bulunan @twitterKullanıcıAdı kısmı siliniyor.

    Yani;
    @twitterKullanıcıAdı selam.

    gibi cevap atmak isterken, program; @twitterKullanıcıAdı kısmını siliyor. Sadece textBox'tan aldığı "selam" kısmını tweetliyor. Bunun sebebi nedir? Yada çözümüne dair herhangi bir bilginiz var mı?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:59:10 -->-> Daha önceki mesaj 18:55:50 --

    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    img taglarını al hocam, alt attribute ü "Yanıtla" olan item i bul ve invokemember ile click i çalıştır
    İlginiz için teşekkür ederim hocam. betmon nickli arkadaşın verdiği kod ile sorun çözüldü.

    kadir58 adlı üyeden alıntı: mesajı görüntüle
    http://restsharp.org/ api şeklinde yapın gitsin
    Daha önceden bir API olarak TweetSharp'ı da denemeye çalıştım fakat; TweetSharp ile yapınca gidip bide Twitter'dan uygulama oluşturmamız gerekiyor sanırım. Onu yaptım ama TweetSharp'ı sanırım sadece programı yapan kişi kullanabiliyor. Başkalarına yollayınca programı, uygulama Twitter hesaplarıda izin olmadığı için benden başkası kullanamıyor. Bu sebeple API ile değil, HtmlElement yöntemi ile yapmaya çalışıyorum.