romegames 1
romegames
Bvural41 1
Bvural41
Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu PHP instagram API kullanımı

  • Konuyu başlatan Konuyu başlatan lHezarfeNl
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 771

lHezarfeNl

Love Turkmmo
TM Üye
Katılım
26 Ara 2012
Konular
936
Mesajlar
15,646
Çözüm
8
Online süresi
3mo 29d
Reaksiyon Skoru
2,664
Altın Konu
295
Başarım Puanı
327
MmoLira
694
DevLira
0
Ticaret - 100%
5   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

instagram-logo-hands-1024x1024.png

Instagram API ile neler yapılabilir?

  • Kullanıcının profil verilerini çekebilirsiniz.
  • Kullanıcının paylaşmış olduğu medyalarını çekebilirsiniz.
  • Kullanıcının hikayelerini çekebilirsiniz.
  • Kullanıcının öne çıkan hikayelerini çekebilirsiniz.
  • Kullanıcının paylaştığı gönderinin ayrıntılarını çekebilirsiniz.
  • Takipçilerin listesini çekebilirsiniz
  • Takip edilenlerin listesini çekebilirsiniz
  • Kullanıcıları takip edebilir veya takibi bırakabilirsiniz.
  • Gönderileri beğenebilir veya beğeninizi geri çekebilirsiniz.
  • Hashtag gönderilerini çekebilirsiniz.
  • Bir gönderinin yorumlarını çekebilirsiniz.
  • Canlı yayın bilgilerini çekebilirsiniz.
  • Reels içeriklerini çekebilirsiniz.
  • IGTV içeriklerini çekebilirsiniz.
  • Bir kullanıcının etiketlendiği paylaşımları çekebilirsiniz.
  • HD profil resmini çekebilirsiniz.
  • Bir gönderiye yorum yapabilirsiniz.
Sizce de çok heyecanlı değilm mi? Hadi API'yi nasıl kuracağımızı ve nasıl kullanacağımıza geçelim.

Instagram API Kurulumu

API'yi Composer ile kuracağız. Kullanmış olduğunuz Terminal programnızı açıp projeyi çalıştıracağınız kalsör konumuna erişiniz ve kurulumu yapınız.
Kod:
composer require pgrimaud/instagram-user-feed

Instagram API Kullanımı

Şimdi gelelim API'yi nasıl kullanacağımıza.
Kod:
require "vendor/autoload.php";
use Instagram\Api;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
$cachePool = new FilesystemAdapter('Instagram', 0, __DIR__ . '/../cache');


$api = new Api($cachePool);
$api->login('username', 'password'); // Aksiyonları gerçekleştirecek hesap bilgileri.
Yukarıda gördüğünüz gibi aksiyonları gerçekleştirebilmemiz için bir instagram hesabı tanımlamamız gerekiyor. Kütüphaneyi'de dahil ettiğimize göre aksiyon almaya başlayalım.

Kullanıcının Profil Bilgilerini Çekiyoruz

Kod:
$profile = $api->getProfile('eycreative'); // Çekilecek profilin kullanıcı adı.

echo "<pre>";
// print_r($profile) // Dizi içinde neler olduğunu görebilmek için tümünü ekrana yazdıralım.
echo "</pre>";

echo $profile->getuserName();
echo $profile->getfullName();
echo $profile->getbiography();
echo $profile->getfollowers();
echo $profile->getfollowing();
echo $profile->getprofilePicture();
echo $profile->getexternalUrl();
echo $profile->getmediaCount();
print_r(); ile yazdırdığımız dizi içinde ki tüm profil detay bilgilerini yazdırabilirsiniz.

Gönderi Ayrıntılarını Çekiyoruz

Kod:
$medias = $profile->getMedias(); // Medyaların bulunduğu diziyi döngüye sokabilmek için ekleyiniz.

foreach ($medias as $media) {
 echo "<pre><hr>";
 echo 'ID        : ' . $media->getId() . "\n";
 echo 'Caption   : ' . $media->getCaption() . "\n";
 echo 'Link      : ' . $media->getLink() . "\n";
 echo 'Likes     : ' . $media->getLikes() . "\n";
 echo 'Date      : ' . $media->getDate()->format('Y-m-d h:i:s') . "\n\n";
 echo "<pre>";
}
yukarıda ki döngü ile kullanıcının paylaşmış olduğu medyaların bir kısmını çekebiliyoruz çünkü API tüm paylaşımları bir anda çekmemize izin vermiyor, eğer sayfalandırma kullanmazsak sadece 12 adet veri geleceğini göreceğiz. Peki nasıl tüm verileri çekeceğiz?
Kod:
do {
 foreach ($medias as $media) {
  echo "<pre><hr>";
  echo 'ID        : ' . $media->getId() . "\n";
  echo 'Caption   : ' . $media->getCaption() . "\n";
  echo 'Link      : ' . $media->getLink() . "\n";
  echo 'Likes     : ' . $media->getLikes() . "\n";
  echo 'Date      : ' . $media->getDate()->format('Y-m-d h:i:s') . "\n\n";
  echo "<pre>";
 }
  sleep(1);
} while ($profile->hasMoreMedias());
Artık sayfamızda aşağı doğru indikçe tüm veriler gelmeye başlayacaktır.

Kullanıcıları Takip Etme ve Takibi Bırakma Aksiyonları
En sevdiğim ve basit kullanıma sahip olan aksiyonumuzu alalım.
Kod:
// Takip Etme Aksiyonu
try{
    $userId = 3266224637; // Takip edilecek kullanıcının ID'si
    $follow = $api->follow($userId);
    echo $follow . PHP_EOL;

    if($follow == TRUE){
        echo "Request Sent";
    }else{
        echo "NO";
    }

 } catch (InstagramException $e){
    print_r($e->getMessage());
 }catch (CacheException $e){
    print_r($e->getMessage());
 }

// Takibi Bırakma Aksiyonu

try{
     $userId = 3266224637; // Takipten çıkılacak kullanıcının ID'si
     $unfollow = $api->unfollow($userId);
     echo $unfollow . PHP_EOL;
    
      if($unfollow == TRUE){
          echo "Unfollow Okey";
      }else{
          echo "NO";
      }
    
     } catch (InstagramException $e){
        print_r($e->getMessage());
     }catch (CacheException $e){
        print_r($e->getMessage());
     }

checkpoint_required" 400 hatası aldım

Eğer sorgu yaparken bu hatayı alırsanız tanımladığınız instagram hesabınıza girip "Bu işlemi ben yaptım" seçeneğini işaretleyin, API'y, bir haftadır açmış olduğum sahte bir hesaptan deniyorum fakat henüz bir problem yaşamadım. Umarım sizlerde'de bir problem olmaz.

API'ile İlgili Daha Fazla Bilgi Alın

API'nin kullanım alanı çok geniş, bu yazımda basit bir şekilde kurulum ve kullanımından birkaç örnek vererek bahsettim, daha fazla bilgiye göz atabilirsiniz.
Diğer tüm örneklere API'nin GitHub Dökümantasyon içinde bulunan ulaşabilirsiniz.

Sonuç

Kurulumunu ve kullanımı anlatmış olduğum API göderüğünüz üzere kullanışlı bir proje olmuş yalnız makalemizin başında bahsettiğim gibi, Bu API Instagram platformuna resmi olmayan yollarla erişim sağlamak için geliştirilmiş üçüncü taraf unofficial yani gayri resmi bir API'dir, demek istediğim şudur ki, API şuan sorunsuz ve stabil bir şekilde çalışmakta ama bu durum ileriki günlerde değişebilir, bu yüzden bu API'yi projelerinizde kullanırken, olmasını istemediğimiz durumlara hazırlıklı bir şekilde entegre ediniz.
 
Paylaşım için teşekkürler.
 
Paylaşım için teşekkürler.
 
Paylaşım için teşekkürler.
 
Paylaşim İçin Teşekürler İyi Forumlar.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst