PHP ile İnstagramdan Fotoğrafları Çekmek – İnstagram Basic Api
Bu Yazı PHP İçin Yazılmıştır.
- 0 Yorum
- 08 Nisan 2020
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;
}
}