Php Dersleri

Instagram Api İle Kullanıcı Bilgilerine Ulaşma

Instagram apisini kullanarak, kullanıcıların profil bölümünde yer alan değerlere ulaşacağız. Bu bilgiler; kullanıcı adı, biyografisi, web sitesi, profil fotoğrafı, tam adı ve kullanıcı id ‘si dir. Burada asıl önemli olan değer, diğer aşamalarda kullanılacak olan, kullanıcının kullanıcı id ‘si dir. Tabi bunu dışında kalan bilgilerle de dilediğiniz gibi uygulamalar geliştirebilirsiniz.

Instagram apisi ile işlem gerçekleştirmek için, öncelikle instagram.com/developer adresine girip giriş yapıyoruz. Sonrasında bir uygulama oluşturup gerekli bilgileri yazıyoruz. Uygulamayı oluşturduktan sonra elde edeceğimiz Client ID değeri ile api işlemlerini gerçekleştireceğiz.

Kullanacağımız Link Yapısı

https://api.instagram.com/v1/users/search?q=KULLANICIADI&client_id=CLİENTİDSİ

Bu link yapısına Kullanıcı adı ve oluşturduğumuz uygulamadan gelen Client ID’yi yazdığımızda, temel kullanıcı bilgilerine ulaşabileceğimiz url yapısını oluşturmuş oluyoruz. Hazırlamış olduğumuz bu URL yapısına, cURL yardımı ile erişim sağlayacağız.

Function Baglan($a){
   $ch	= curl_init();
   curl_setopt($ch, CURLOPT_URL, $a); 
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
   curl_setopt($ch, CURLOPT_HEADER, false); 
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   $isle	= curl_exec($ch); 
   curl_close($ch); 
   return $isle; 
}

Bağlantı fonksiyonunu oluşturduğumuza göre artık, oluşturmuş olduğumuz url bağlantısını gerçekleştirerek bilgilere ulaşabiliriz.

$clientid = ""; // Instagramda oluşturduğumuz uygulamadan gelen değer.
$aranan = "ibrahimcevruk"; // bilgilerini çekeceğimiz kişinin kullanıcı adı
$veri= Baglan("https://api.instagram.com/v1/users/search?q=$aranan&client_id=$clientid");

Bağlantı fonksiyonunun ardından oluşturduğumuz bu URL değerine erişimi sağlayıp, çıktıyı alalım. Çıktıyı almak için URL yapısını cURL fonksiyonundan geçirdiğimiz $veri değişkenini, print_r ile çalıştırıyoruz. Gelecek olan verileri düzenlemek için de json_decode fonksiyonunu kullanıyoruz.

echo "<pre>";
print_r(json_decode($veri));
echo "</pre>";

Kodlama yapısını bu şekilde oluşturduğumuzda elimizde tüm bilgilerin yer aldığı bir Array dizini gelecektir. Eğer aranacak olan kişinin kullanıcı adı tam olarak yazılmazsa, o kullanıcı adına en yakın kullanıcılar listelenecektir. Yani birden fazla bilgilerin listelenmesi olasılığı bulunmaktadır. Örneğin; ibrahimcevruk yerine, ibrahim diye yazdığımızda birden fazla sonuç çıkacaktır.

Kullanıcı bilgilerini tam olarak girip, istediğimiz sonucu elde ettiğimizde çıktı olarak elimize aşağıdaki gibi bir dizi gelecektir;

stdClass Object
(
    [meta] => stdClass Object
        (
             => 200
        )
    [data] => Array
        (
            [0] => stdClass Object
                (
                    [username] => ibrahimcevruk
                    [bio] => Rammstein Delisi, Yabancı Dizilerin hastası, Her şeye Gülen Adam! #PartTimeÇapulcu #BJK #çArşı #Webmaster #Php #BehzatÇ #KitapSever
                    [website] => https://ibrahimcevruk.com
                    [profile_picture] => https://igcdn-photos-h-a.akamaihd.net/hphotos-ak-xpa1/t51.2885-19/927683_1495263254022295_1018875548_a.jpg
                    [full_name] => ibrahim Çevrük
                    [id] => 367625446
                )
        )
)

Çıkan bu sonuç doğrultusunda istediğimiz bilgilere Array yapısındaki değeri yazarak ulaşabiliriz. Burada ulaşmak istediğimiz verilere -> ifadesini kullanarak elde ediyoruz. Bunun nedeni Object değerinde verilerin döndürülmesinden dolayıdır.

Sonuç ekranında gelen verileri istediğimiz yerde kullanmak ya da değişkenlere aktarmak için aşağıdaki yollara göz atabilirsiniz.

echo json_decode($veri)->data["0"]->username."<br>";
echo json_decode($veri)->data["0"]->bio."<br>";
echo json_decode($veri)->data["0"]->website."<br>";
echo json_decode($veri)->data["0"]->profile_picture."<br>";
echo json_decode($veri)->data["0"]->full_name."<br>";
echo json_decode($veri)->data["0"]->id."<br>";

Tabi burada yer alan kodları istediğiniz gibi kendinize uyarlayabilirsiniz. Bu şekilde ilk değeri alabileceğiniz gibi foreach döngüsünü kullanarak gelen bütün değerleri döndürebilirsiniz. Bu örnekteki bilgileri pekiştirerek istediğiniz gibi uygulamalar geliştirilebilir.

Bir önceki yazım olan Php ile Sayıları Yazıya Çevirme | Basit Mantık başlıklı makalemi de okumanızı öneririm.

İlgilizi Çekecek Konular

Php ile Kdv Dahil ve Kdv Hariç Hesaplaması Yapmak

ibrahim Çevrük

Post ve Get Komutu ile Veri Yollama

ibrahim Çevrük

Php’de For ve While İle Verileri Listeleme İşlemi

ibrahim Çevrük

Yorum Giriniz