İnstagram api kullanımı

Başlıkta da belirttiğim gibi instagram apisini kullanarak zaman tünelinizdeki paylaşımlara otomatik beğeni yaptıracağız. Kullanacağımız api mgp25 unofficial bir instagram apisidir.

Neler Göreceğiz ?

  • Composer İle mgp25 apisini local sunucumuza İndirme
  • İndirdiğimiz dosyaları projemize dahil etme
  • Projenin kodlanması

Composer 

Composer bilmeyen arkadaşlar için composer nedir ,Nasıl Kurulur ?  sorularına cevap arayacağız.

Composer Nedir ?

Composer kendisini PHP bağımlılık yöneticisi olarak adlandırıyor.Bizim tabirimiz ile php paket yöneticisi.

Kısacası ihtiyacınız olan php dökümanlarını projenize dahil etmeye yarayan bir araç, composer.

Composer Kurulumu

İlgili siteye gidin  ,Download butonuna tıklayın, karşınıza çıkan alanda composer-setup.exe bağlantısına tıklayarak ilgili aracı bilgisayarınıza güvenli bir şekilde indiriniz.

Kurulum Süreci

Resimde de gözüktüğü gibi Kurulumda çok birşey yok , Hiçbir işlem yapmadan NEXT’e basarak kurulumu bitiriyoruz.

Dökümanları İndirme

Evet yavaştan instagram api kullanımına giriyoruz.

İlk olarak cmd komut yöneticisini açıyoruz. ardından projenizin olduğu klasör dizinine giriyoruz.

Benim çalıştığım dizin localhost/instagram olduğu için altta verdiğim işlemleri yaptım . Sizlerde size uygun işlemleri yaparak projenizin bulunduğu alana gidiniz.

Altta verdiğim kodu cmd alanına sağ tık yaparak yapıştırıp enter yapın ve dosyaları indirmesini bekleyiniz.

composer require mgp25/instagram-php

Projenizin içerisinde Yukarıdaki 3 dosya indiyse artık Kod yazmaya başlayabiliriz 😀

Ana dizinde yani hemen yukardaki resmin olduğu alana index adında bir php dosyası oluşturuyoruz. İçerisine alttaki kodları ekliyoruz.

require 'vendor/autoload.php'; // kütüphaneyi çağırdık

\InstagramAPI\Instagram::$allowDangerousWebUsageAtMyOwnRisk = true; // sorumlulukları kabul ettik | etmessek çalışmaz

$username = 'Kullaniciadi'; // İns Kullanıcı adınız
$password = 'sifre'; // ins  şifreniz

$ig = new InstagramAPI\Instagram(); // classımızı çağırıyoruz

try {
$ig->login($username, $password); // ins giriş yapıyoruz
} catch (\Exception $e) {
die('Giriş Yapılamadı: ' . $e->getMessage()); // ins giriş yapamazsak hata çıktısı alıyoruz
}

Ardından anasayfayı feedleyecek kodu çalıştırıp çıktısı alıp decode ediyoruz.Decode yapmamızdaki amaç daha temiz bir kod yapısıyla çalışmak.

$json = $ig->timeline->getTimelineFeed(); // anasayfamızdaki paylaşımları alıyoruz
$b = json_decode($json,true); //

$kac = count($b["feed_items"]); // kac veri olduğunu öğreniyoruz

echo $kac; // kaç tane veri olduğunu spruyoruz ve

2. Aşamada for döngüsünü kullanarak ,$kac değişkenine atadığımız veri sayısı kadar döngüye sokuyoruz

for ($i=0; $i < $kac; $i++) {
$oneri = isset($b["feed_items"][$i]["suggested_users"]); // Anasayfamızdaki önerilen kullanıcı varmı sorgusu
$netgeo = isset($b["feed_items"][$i]["stories_netego"]);  // Tam olarak bilmiyorum , sanırım anasayfadaki hikayeler
 
    if($netgeo == 0){ // hikayeleri es geçiyoruz
        if ($oneri == 0) { // önerilen kullanıcıları es geçiyoruz
 
            $p_id = $b["feed_items"][$i]["media_or_ad"]["id"]; // paylaşım id'lerini alıyoruz
            $varmi = isset($b["feed_items"][$i]["media_or_ad"]); // paylaşım varmı diye soruyoruz
            if ($varmi == 1) {
 
            $k = $b["feed_items"][$i]["media_or_ad"]["user"]["username"]; // paylaşanın kullanıcı adı
            $q = $b["feed_items"][$i]["media_or_ad"]["code"]; // paylaşanın post linki
            $b_sorgu = $b["feed_items"][$i]["media_or_ad"]["has_liked"]; // daha önceden beğendikmi sorgusu
            $sponsor_sorgu = isset($b["feed_items"][$i]["media_or_ad"]["injected"]); // sponsorlu mu sorgusu
 
                if($sponsor_sorgu == 0){ // sponsorluysa beğenme
                    if($b_sorgu != 1){ // önceden beğendiklerimizi es geçiyoruz
                        $begen = $ig->media->like($p_id); // Paylaşıma beğeni gönderiyoruz
                        if ($begen) { // işlemi sorguluyoruz
 
                            echo $k." Kullanıcısına Beğeni Gönderildi -> <a href='https://www.instagram.com/p/".$q."/'>Kullanıcı ".$k."</a><br>";
 
                        }else{
 
                            echo "Beğeni Gönderlilemedi ".$k;
                        }
                    }else{
                        echo "Daha Önceden beğenilmiş Paylaşım $q<br>";
                    }
                }else{
                    echo "Sponsorlu İçerik Beğenilmedi<br>";
                }
 
 
            }else{
                echo "Kullanıcı Sıralanmadı<br>";
            }
 

Yazdığım kodların ne işe yaradıklarını yanlarına yazdım.Eğer anlamadığınız yer olursa yorumlardan yazmayı unutmayınız.

Kaynaklar 

https://www.erbilen.net/instagram-php-api-kullanimi/ –> Tayfun abi seviyorum seni . Mantığını buradan kavradım

Api yapımcısının Official github sayfası -> kral yapmış

——————————————————————————————————————–

Yeni eklemeler yaptıkça bu yazıyı güncelleyeceğim .

Son…

Yaklaşık 5 Saatti uğraşıyorum . Umarım beğenirsiniz . Sağlıcakla kalın ..

Bir cevap yazın

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