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.

<?php
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.

<?php
$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.

<?php 
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
(
[code] => 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] => http://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.

<?php
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.
EK DOSYA YOK
DEMOYU GÖRÜNTÜLE (469)
- 18.02.2015 / 21:02:33 3

Sosyal Medya Paylaşım Alanı

Bunlarda İlginizi Çekebilir

Css Dersleri

Google Web Fonts ile Yeni Fontlar Kullanma

Kategori: Css Dersleri | 26.06.2013
18:21 Php Dersleri

Php ile Yapılan Basit Botu Veritabanına Kayıt Etme

Kategori: Php Dersleri | 03.05.2013
Genel Makaleler

Yandex Dil Bilgisi Servisi

Kategori: Genel Makaleler | 19.12.2013
Css Dersleri

Css Before ve After Sözde Öğelerin Kullanımı

Kategori: Css Dersleri | 23.08.2013
Php Dersleri

Yorum Listesi (3) # YorumYap

  • betul (11.12.2015 - 23:46:28)
    instagram api ile etikete göre fotoğraf çekiyoruz ama çektiğimiz fotoğrafların kişi bilgisine ulaşamıyoruz nasıl ulasabileceğimiz hakkında bi bilginiz var mı ?
  • Capon (18.12.2015 - 00:05:06)
    İyi günler hocam, diyelimki listeden 4 tane user oluştu ben sadece kullanıcı adlarını çekmek istiyorum kullanıcı adlarının hepsini birden nasıl yazdırabilirim bir kaç deneme yaptım başarılı olmadı. Teşekkürler.
  • Hestrnin (06.04.2017 - 03:34:15)
    stdClass Object
    (
    [meta] => stdClass Object
    (
    [code] => 400
    [error_type] => OAuthAccessTokenException
    [error_message] => The access_token provided is invalid.
    )

    )

    bu hatanın sebebi nedir

Hadi Sende Yorum Yap!

Yorum Gönderilmiştir. Onaylandıktan Sonra Mesajınız Yayınlanacaktır.