PHP Instagram API ile Story İşlemleri
#Instagram API, #Instagram PHP, #Instagram StoryBir arkadaşımın isteği üzerine Instagram API aracılığı ile story yani hikayeler üzerinde birkaç işlem yapmam gerekti. Bu sebepten ötürü PHP ile Instagram API işlemlerini öğrenmeye karar verdim.
Yapmak istediği şey storylerini gören insanların listesini bir veritabanına kaydetmekti. Tam olarak işlemleri bitirmemiş olsam da API'ın kullanımını temel olarak anlatıp basit işlemleri nasıl yapacağımızı anlatacağım.
Öncelikle Instagram API'ı kurmamız gerekmekte. İhtiyacınız olan şey sisteminize PHP 7.3.9 ve Composer kurulumlarını gerçekleştirmek. Bu işlemleri yaptıktan sonra yeni projemizi oluşturmaya başlayabiliriz.
Projemizin içinde bulunacağı klasörü oluşturun (Linux
için mkdir <projeAdı>
komutunu kullanabiliriz).
Ardından terminal, konsol veyahut ne kullanıyorsanız o uygulamayı açın
ve proje dizinine girdikten sonra (cd
),
composer require mgp25/instagram-php
komutu ile Instagram API
dosyalarını projemize dahil edelim.
Bu işlemleri tamamladıktan sonra artık kodlarımızı yazacağımız dosyamızı
oluşturabiliriz. Kendinize bir php dosyası açın (ör:
instagram-islemleri.php
). Dosyayı oluşturduktan sonra php
taglarını açın ve yapmamız gereken bir kaç rutin işlem mevcut.
Öncelikle hata kodlarını görmemiz gerekecek. Lokal sunucunun 500 hatası vermeden hataları göstermesi için:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
komutlarını php taglarımız arasına ekliyoruz. Bu bütün hataları görmemizi ve düzenlememizi sağlayacak.
Composer aracılığı ile eklediğimiz kodların çalışması için ise
require 'vendor/autoload.php';
komutunu girmemiz yeterli, bu
satırı ekledikten sonra composer ile eklediğiniz tüm paketler sorunsuzca
projenizde çalışmaya başlayacaktır.
Başlamak için gereken tüm işlemleri hallettiğimize göre işe
koyulabiliriz. Öncelikle API unofficial yani gayriresmi olduğundan yazarı
bizim riskleri kabul etmemizi istemiş. API classındaki kodların
çalışabilmesi için
\InstagramAPI\Instagram::$allowDangerousWebUsageAtMyOwnRisk
= true;
satırını kodumuza ekliyoruz. Artık API işlemlerini sorunsuzca
gerçekleştirmeye başlayabiliriz.
Classımızdan yeni bir obje üretmek için
$ig = new \InstagramAPI\Instagram(true, true);
kodunu
kullanıyoruz. Argümanların anlamlarını açıklamak gerekirse birinci
argüman debug aktif ediyor ikinci argüman ise debugdaki gereksiz
tüm kod parçacıklarını kısaltıyor (truncate).
Bu işlemi de tamamladıktan sonra artık giriş yapmaya geçebiliriz ama yapmamız gereken bir şey var, development işlemlerini hangi hesabınız ile gerçekleştirecekseniz bu adresten Instagram Developer User ID'nizi öğrenmeniz gerekmektedir.
User ID'yi edindiğimize göre üç değişken oluşturalım bunlar
$username
, $password
,
$user_id
değişkenleri olabilir. İsimleri Türkçe veya
İngilizce olarak siz seçebilirsiniz ($kullanici_adi
,
$sifre
, $kullanici_id
). Bu değişkenlerin
içeriğini stringler ile tanımlayarak yazmanız gerekmekte. (ör:
$username = 'dogukan.jpg'
)
Giriş yapmak için bir try, catch bloğu tanımlayın. Catch bloğunun
argümanı \Exception $e
olursa kolayca hata yakalama
işlemlerini gerçekleştirebiliriz. try bloğunun içerisine
$ig->login($username, $password);
komutunu yazdığınızda API'a
login olacaksınız.
Tüm işlemleri yaptığımıza göre sayfayı yenilediğinizde hata almıyorsanız story yani hikayeler ile oynamaya başlayabiliriz. Benim yapmak istediğim giriş yaptığım kullanıcının hikayelerini alıp o hikayeleri izleyen kişileri veritabanına kaydetmek olduğundan bunun için gereken temel komutlara bir göz atalım.
Instagram API Hikaye (Story) İşlemleri
-
Takip ettiğiniz kişilerin hikayelerini görmek için:
$ig->story->getReelsTrayFeed();
-
Kullanıcının hikayelerini görmek için:
$ig->story->getUserReelMediaFeed('user_id');
* Yukarıda belirttiğim şekilde aldığımız user_id'den bahsediliyor.
-
Hikayenize bakan kişileri görmek için:
$ig->story->getStoryItemViewers('story_id');
* story_id parametresini getUserReelMediaFeed fonksiyonu ile alacağız. Makalenin devamında bahsedeceğim.
Örnek olarak giriş yapıp storyleri aldığım ve onlardan gelen kullanıcıları bastırdığım açıklamalı kodu inceleyebilirsiniz.
Sorularınız için yorum bölümüne başvurabilirsiniz. Instagram API hakkında yeni makaleler ekleyeceğim. Sıradaki planım mesaj işlemlerini detaylı olarak örnekli anlatmak. Okuduğunuz için teşekkür ederim.