Twitter Uygulamaları
Ana başlıktan da anlaşıldığı gibi birden fazla uygulamayı bir yazı altında topladım. Bu şekilde anlatmamın sebebi yazmış olduğum uygulamanın genel yapısı aynı sadece aradaki bir kaç satırlık kod değiştiği için tek bir yazı altında toplamaya karar verdim. Sizin için daha anlaşılır olacağını düşündüm umarım faydalı olur.
Twitter mesajlarını listelememiz için twitter Twitter Api sini oluştur ve gerekli kütüphaneyi edinmiş olmamız gerekiyor. Eğer bu adımları gerçekleştirmediyseniz Twitter Api Oluşturma – Access Token almak ve Kütüphane eklemek başlıklı makaleyi okumanızı tavsiye ederim. Bahsettiğim makalede profil bilgilerini çekmek adlı bir uygulama yapmıştık. Bu index sayfası içerisine aşağıdaki kodu ekleyerek sonuçları listeleyeceğiz. Bahsettiğim makaleye ulaşmak için buraya tıklayın.
Tweet Atmak
Tweet atmak için kütüphanemizin post metodunu kullanacağız. Burada dikkat etmemiz gereken nokta tweet atarken gerekli kısımları parametre olarak göndermeliyiz. Aksi takdirde twitter dan eksik parametre hatasıyla karşılaşırız. Tweet atarken gerekli olan parametre sadece status parametresi. Bu parametrenin yanında isteğe bağlı bir çok parametre de var fakat zorunlu olmadığı için başlangıç seviyesinde bu parametreleri kullanmadan tweet atacağız.
index.php dosyamızın içerisine
$statues = $connection->post("statuses/update", ["status" => "Tweet Buraya yazılacak"]);
komut satırını yazmamız yeterli olacaktır.
Tweet post ederken isteğe bağlı bir kaç parametreden bahsedeyim.
- attachment_url : Tweet eki olarak bir URL’yi belirtmemizi sağlıyor.
- possibly_sensitive : Tweet’de paylaştığınız fotoğraf veya video cinsel içerikliyse bunu true olarak belirtmeniz gerekir.
- lat: Bu Tweet’in bulunduğu yerin enlemi. örn(37.7821120598956) değerini -90 ile +90 arasında girebilirsiniz.
- long: Bu Tweet’in bulunduğu yerin boylamı -180.0 ile +180.0 arasında değer girebilirsin.
- trim_user: True, t veya 1 olarak ayarlandığında, yanıt yalnızca yazarın dahil olduğu bir kullanıcı nesnesi içerecektir.
Bu isteğe bağlı parametreden lat ve long parametresini kullanarak tweet konumumuzu belirtelim. Aşağıdaki kodda Konya enlem ve boylam derecelerini girerek tweet konumumuzu belirlemiş olduk
-
$statues = $connection->post( "statuses/update", [ "status" => "Deneme tweet", "lat" =>37.866667, "long" =>32.483333 ]);
Media Yüklemek
Bir medya nesnesi, tek bir fotoğraf, video veya animasyonlu GIF’i temsil eder. Medya nesneleri, Twitter API’sı içinde birçok uç nokta tarafından kullanılır ve Tweetler, Doğrudan Mesajlar, kullanıcı profilleri, reklam öğeleri ve başka yerlere eklenebilir. Twitter apiyi kullanırken burada bize bazı sınırlandırmalar getiriyor. Bu sınırlandırmalar
- Resim 5MB
- GIF 15MB
- Video 15MB
Boyutlarından daha büyük boyutlardaki dosyalarınızı api yardımıyla Twitter’a atamıyorsunuz. Bunların yanı sıra bazı video uzantılarını da desteklemiyor. Örneğin MKV uzantılı bir video yüklemeye çalıştığımızda geçersiz dosya uzantısı hatası alıyoruz.
Şimdi Twitter’a bir media yüklemek için kodlarımızı yazalım ve ardından inceleyelim.
$media1 = $connection->upload('media/upload', ['media' => 'C:/Users/yakup/Downloads/1.png']); $media2 = $connection->upload('media/upload', ['media' => 'C:/Users/yakup/Downloads/2.png']); $parameters = [ 'status' => 'Media deneme yazısı wowowow', 'media_ids' => implode(',', [$media1->media_id_string, $media2->media_id_string]) ]; $result = $connection->post('statuses/update', $parameters); echo "<pre>"; print_r($result);
Kodları incelediğimizde $media1 ve $media2 satırlarında olay şu şekilde gerçekleşiyor. Bizim belirtiğimiz yoldaki resmi, videoyu veya GIF dosyasını Twitter’a upload ediyoruz ve twitter bize karşılığında Medya id‘si, medya boyutları, medya Türü gibi bilgileri veriyor. Daha sonra yukarıda tweet atmak için kullandığımız post metodunu kullanıyoruz. Tweet atmak için status parametresi zorunluydu. Bu parametrenin yanında media_ids parametresini kullanarak attığımız tweete media eklemiş oluyoruz.
Arama Yapmak
Arama yapmak tweet atmak kadar kolay bir işlem. Gerekli olan parametremiz q parametresidir diğer parametreler isteğe bağlı girilebilecek parametrelerdir. Aşağıdaki kodda örnek olması amacıyla sonuçların ilk 5 tanesini getirmesini belirttim. Hemen kodlarımıza göz atalım.
$statuses = $connection->get("search/tweets", [ "q" => "mevlana", "count" =>5 ]); echo "<pre>"; print_r($statuses);
Yine get fonksiyonumuzu kullanarak ilk parametresini search/tweets ikinci parametresini de gerekli olan parametreleri girerek verimizi çekiyoruz. Gelen json verisini istediğimiz gibi kullanabiliriz.