OAuth Uygulaması için Twitter API’si Oluşturma

Sitemize Twitter uygulaması eklemek için öncelikle Twitter’da uygulama kaydı açıp, Twitter’ın sitemiz için oluşturacağı tekil API Key ve API Secret bilgilerini almamız gerekiyor.

Bunun için aşağıdaki adımları sırasıyla yapacağız:

1. Twitter’a login ol.

2. “Settings” altındaki “Connections” bölümüne gir. Burada Twitter bilgilerinizi okuması için izin verdiğiniz site ve uygulamaları göreceksiniz.

3. Sağdaki bölümde Developers açıklamasının içindeki “here” yazan linke tıkla.

4. Bu ekranda da varsa eğer daha önce oluşturduğumuz site API’lerimizi görüyoruz. “Register a new application »“‘a tıklıyoruz ve kayıt formumuzu açıyoruz. Aşağıdaki form açılıyor.

5. Gerekli alanları doldurup “Save” butonuna basarak işlemi bitiriyoruz. Aşağıdaki görüntüyü elde ediyoruz.

Formdaki bazı önemli alanların açıklamak istiyorum:
Application Icon: Uygulamanızı temsil edecek icon. Bu icon için sitenizin yada uygulamanızın logosunu tercih etmeniz en doğrusu.
Application Type: Uygulamanızın web uygulamasımı yoksa masaüstü uygulama mı olacağı… Tabiiki bir Browser deçiyoruz.
Callback URL: Bence en önemli parametre. Twitter’a gidip onay verdikten sonra dönüşte sitemizde onay işlemlerini tamamlayacağımız kodları içeren sayfamızın linki.
Default Access type: Twitter durumunu yanlızca okuyacaksanız yada hem okuyup hem de yazma işlemi yapacaksanız burada belirtiyorsunuz.

“OAuth Uygulaması için Twitter API’si Oluşturma” üzerine 24 düşünce

  1. .NET ile geliştirilen bir webprojesinde, Twitter için bir usercontrol (.ascx) yaptım.
    Bunu öncelikli olarak index.aspx sayfasında kullanacağım, fakat diğer iç sayfalarda da kullanma ihtimalim yüksek.
    Bu durumda “Callback URL” sayfasına nasıl bir adres vermem gerekli?
    Örnek olarak;
    Callback URL = domain/index.aspx verildiğinde, domain/liste.aspx ‘den giriş yapılırsa, dönüş index.aspx ‘e olacaktır değil mi?

  2. Öncelikle geri dönüş herzaman yanlızca Callback URL’de verdiğin adrese olur. O yüzden herhangi bir oAuth API’si yaparken dönüş adresine ilgili bir sayfa oluşturup onu yazmak en sağlıklısı oluyor. Örneğin Twitter için TwitterDonus.aspx şeklinde bir sayfa oluşturup geri döndükten sonraki işlemleri o sayfa içinde yapmak lazım.

    Siteden Twitter oAuth sayfasına giderken ise, direkt Twitter oAuth linkini vermek yerine örneğin ismi TwitterGidis.aspx olan bir dosya oluşturup, oAuth linkine bu dosya içerisinden Redirect etmek gerekir. Redirect işleminden önce Session[“DonusURL”] şeklinde bir session değişkeni oluşturup içerisine siteye geri döndüğümüzde yönleneceği sayfayı kaydedip, TwitterDonus.aspx’te de yine bu Session değişkeninin içeriği kontrol edilip oraya yada index sayfasına redirect ettirebilirsin.

  3. Hızlı cevap için teşekkür ederim.
    Şuanda sistemi inceliyorum, sanırım dediğin gibi 2 ayrı sayfa yapmak mantıklı.

  4. Merhabalar hocam;

    Öncelikle bilgi ve deneyimlerinizi paylaşmanız için teşekkür ederek. . .

    source kodunuzu bilgisayarımızda test ettiğimizde sadece:

    – Zaman akışındaki Tweetleri okumak.
    – Kimleri takip ettiğini görmek,

    gibi twit app nin yapabileceklerini sunuyor fakat:

    http://bahadir.almaci.com/oauth/ daki canlı uygulamanızdan twit e gittiğimizde

    -Zaman akışındaki Tweetleri okumak.
    -Takip ettiğin kişileri görmek ve yeni kişiler takip etmek.
    -Profilini güncellemek.
    -Senin adına Tweet göndermek.

    gibi fark doğuyor bunun sebebi nedir acep; paylaştığınız kodların eksiklerimi var, yoksa biz bir şeyleri mi atlıyoruz

    Özetle:

    Paylaştığın kodların uygulamasını yaptığımızda

    “Senin adına Tweet göndermek ” , “Profilini güncellemek” , “yeni kişiler takip etmek ”
    gibi twit geri dönüş özelliklerini / sonuçlarını göremiyoruz

    Selamlar. . .

    Zaman akışındaki Tweetleri okumak.
    Takip ettiğin kişileri görmek ve yeni kişiler takip etmek.
    Profilini güncellemek.
    Senin adına Tweet göndermek.

    gibi fark doğuyor bunun sebebi nedir acep kodların eksiklerimi var yoksa biz birşeyleri mi atlıyoruz selamlar . . .

  5. Aşağıdaki kodlar, oAuth örneğimizde Twit atmamızı sağlayan kodlar. Bu kodlar yine profilimizdeki bilgilerimizi değiştirmemize olanak sağlayan kodlar.
    ————————————–
    const string url = “http://twitter.com/statuses/update.xml”;
    string xml = OAuth.oAuthWebRequest(oAuth.Method.POST, url, “status=” + tbBilgi.Text);
    ————————————–

    Aşağıdaki örnek kod ile Profil Zemin Renginizi değiştirebilirsiniz.
    ————————————–
    const string url = “https://api.twitter.com/1/account/update_profile_colors.xml”;
    string xml = OAuth.oAuthWebRequest(oAuth.Method.POST, url, “profile_background_color=FF6600”);
    ————————————–

    Bu yolla Twitter hesabıyla ilgili bilgileri değiştirmek için gerekli referans bilgilerine https://dev.twitter.com/docs/api adresindeki “Accounts” başlığı altında ulaşabilirsiniz.

    Bir örnek daha. Twitter İsmini değiştirmek için aşağıdaki kodları kullanabilirsiniz:
    ————————————–
    const string url = “http://api.twitter.com/1/account/update_profile.xml”;
    string xml = OAuth.oAuthWebRequest(oAuth.Method.POST, url, “name=Bahadır Almacı”);
    ————————————–

  6. Uygulamamızda bir butonun click olayına veya başka bir olaya kod yazarak twit kullanıcısını kendi uygulamamızın takipçisi nasıl yaparız kısaca kullanıcı uygulamamızın takipçisi olacak otomatik veya manual yolla
    Teşekkürler

  7. https://dev.twitter.com/docs/api/1/post/friendships/create adresindeki bilgiler uygulamanda yardımcı olacaktır. Yukarıda anlatılan yöntemi bu linkteki parametreler ile kullanman gerekiyor. Aşağıdaki kodla bunu yapabilirsin…
    —————————————-
    const string url = “http://api.twitter.com/1/friendships/create.xml”;
    string xml = OAuth.oAuthWebRequest(oAuth.Method.POST, url, “screen_name=bahadiralmaci”);
    —————————————-
    Not: Test etmedim, çalışacağına garanti veremiyorum 🙂

  8. Evet, son örnek çalıştı teşekkürler Bahadır hocam,
    İlk sorduğum sorunun cevabı ise twit de uygulama ayarlarında gizli imiş araştırarak ve kurcalayarak buldum, ben de buradan bunu paylaşayım selamlar ; )

  9. arkadaşlar Asp ile yazılamıyor mu bu uygulamalar

    illa php ya da aspnet mi lazım?

  10. Örnek uygulamadaki Auth.cs kütüphanesini ASP syntaxına çevirip ASP ile kullanabilirsin pekala…

  11. Benimde bir sorum olacak.

    Site-A,Site-B,Site-C sitelerimizin var olduğunu düşünelim. Ve twitter dan da bir api alalım apinin callback url si Site-A olsun.
    Bu 3 site de ortak bir db ve ortak api kullanıyor. Buna bağlı olarak da Callback URL leri de ortak.

    Site-B dan twitter a giden kişi aynı api kullanıldığı için Site-A nın callbacksayfasına yönlecekdir.

    Site-B den giriş yapan kişi, Site-A da callback oldukdan sonra referer yöntemi ile giriş yapdığı site olan SiteB ye yönlenebilir mi ?

    Demek istediğim şu ki / Tek bir api kullanılsın / kişi hangi siteden giriş yaparsa işlem sonucunda tekrar giriş yapdığı sayfaya yönlensin.

  12. Site-A ile Site-B arasında bu konuyla ilgili bir mesajlaşma protokolü oluşturulup yapılabilir diye düşünüyorum.

  13. mrb üstat ben twitter takipçi artırma uygulaması yapmak istiyorum bilgi verebilirmisiniz yeniyiö

  14. Bahadır Bey Selamlar;

    Öncelikle çok önemli bir konuda önemli bilgiler paylaşmışsınız inanın bu beni çok mutlu etti Sonsuz teşekkürler.

    Benim C# desktop Form uygulamasına ihtiyacım var. Burada anlattığınız Web uygulamaları için gördüğüm kadarıyla.Amacım C# form dan search yapıp hashtag araması yapmak bu konuda yardımcı olurmusunuz.Teşekkür ederim.

    Lütfen Özelden mail ile dönebilerseniz ayrıca mutlu olurum.

    Saygılar
    kolaylıklar diliyorum.
    Murat Karabugül

  15. Hocam merhaba, bu apiyle twitter login ve twitter username password işlemlerini bu apiyle nasıl yapabiliyoruz ?

  16. dev twitter adresinden x code programını indirdim ne çalışıyor ne de silebiliyorum kitlendi kaldı

  17. iyi günler benim site yayında değil localhost üzeriden çalıştırıyorum . url olarak “http://localhost:6927/index.aspx” bunu yazdım .”The client application failed validation: Not a valid URL format.” bu hatayı verdi.Nedenini biliyormusunuz

  18. Merhaba,

    Kenan arkadaşımızın 12 ARALIK 2012 00:52 tarihindeki sorusu için detaylı bilgi alabilir miyim bahadır bey.

    “Demek istediğim şu ki / Tek bir api kullanılsın / kişi hangi siteden giriş yaparsa işlem sonucunda tekrar giriş yapdığı sayfaya yönlensin.”

    Bunu nasıl yapabiliriz, facebook ve twitter için?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir