TALHA KESKİN

Web Developer / UI Designer / Graphic & Web Designer

Kartal - İSTANBUL

Hoşgeldiniz. PHP, CSS, Javascript, jQuery, Bootstrap, PSD TO CSS, C#, .NET, Ajax, MsSQL, MySQL İşlerinizi yapabilirim.

Sosyal Profillerim
  • Yazı Detayı

PHP ile İnstagramdan Fotoğrafları Çekmek – İnstagram Basic Api

Bu Yazı PHP İçin Yazılmıştır.

Bir Projemde kullanmak için lazım olan bu sınıfı sizlerinde faydalanmanız için paylaşıyorum

Bu sınıf ne işe yarar : instagram üzerinde giriş yapmış ve uygulamaya izin vermiş kullanıcıların fotoğraflarını çekmeye ve işlemeye yaramaktadır. Sıfını kullanarak kullanıcının paylaştığı fotoğrafları json formatında çekebilir istediğiniz şekilde işleyebilirsiniz.

PHP ile İnstagram Basic Api için neler gerekli : Sıfını kullanabilmek için öncelikle Facebook üzerinde yeni bir uygulama oluşturup bu uygulamaya instagram ürününü dahil etmeniz gerekiyor. Sınıfı canlı moda almadan önce test kullanıcıları ile test edebilirsiniz.

<?php
Class Modul
{
    public $client_id       ="";
    public $client_secret   ="";
    public $redirect_uri    ="";
    function __construct()
    {
        global $db;
        $this->client_id="1111111a";
        $this->client_secret=11212;
        $this->redirect_uri="http://www.talhakeskin.com.tr";

    }
    function kodYoksa()
    {
        //İnstagramdan İzin Almak İçin Yönlendir
       return"https://api.instagram.com/oauth/authorize?client_id=<?=$this->client_id?>&redirect_uri=<?=$this->redirect_uri?>&scope=user_profile,user_media&response_type=code";
    }
    function Curl()
    {
        //Acsess Token Almak için curl ile post gönderiyoruz.
        global $db;
        $ch = curl_init();
        $params = array(
          "client_id" => $this->client_id,
          "client_secret" => $this->client_secret,
          "grant_type" => "authorization_code",
          "redirect_uri" => $this->redirect_uri,
          "code" => $_GET["code"]
        );
        curl_setopt($ch,CURLOPT_URL,'https://api.instagram.com/oauth/access_token');
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_POST, count($params));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

        $output=curl_exec($ch);
        curl_close($ch);

        $sonuc = json_decode($output);

        if(!isset($_SESSION["acsesstoken"]))
        {
            $_SESSION["acsesstoken"]=$sonuc->access_token;
        }

        if(isset($sonuc->access_token))
        {
            $acsesstoken =$sonuc->access_token;
        }

        //echo $sonuc->access_token;
        //İnstagram Mediaları Alınıyor
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,"https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp,permalink,thumbnail_url,children&access_token=$_SESSION[acsesstoken]");
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        // curl_setopt($ch,CURLOPT_HEADER, false);
        $kaynak=curl_exec($ch);
        curl_close($ch);
        $media =json_decode($kaynak);

        if(isset($media->error))
        {
            if($media->error->code=="190")
            {
                $_SESSION["acsesstoken"]=$acsesstoken;

                $ch = curl_init();
                curl_setopt($ch,CURLOPT_URL,"https://graph.instagram.com/me/media?fields=id,caption,media_type,media_url,username,timestamp,permalink,thumbnail_url,children&access_token=$_SESSION[acsesstoken]");
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
                // curl_setopt($ch,CURLOPT_HEADER, false);
                $kaynak=curl_exec($ch);
                curl_close($ch);
                $media =json_decode($kaynak);
            }
        }


        return $media;
    }
}

Bir cevap yazın

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

*

*

*