Php ile instagramdan resim çekmek
10 Ağustos 2015 Furkan Atabaş 6.549 Okunma 3 Yorum

Php ile instagramdan resim çekmek


PHP

Bu aralar fark ettim de yeni bir yazı yazmam için gerekli olan tek şey yeni bir web sitesi kodlamam sanırım. Bana blog yazısı yazdırabilecek gücü ancak web sitesi kodlarken aldığım hatalar veya karşıma çıkan problemler sağlıyor. Bu yazımda işime yarayabileceğini düşündüğüm hatta gerçekten işime yaramış olan 😀 ileride de kullanabileceğim bir şeylerden bahsetmek istiyorum.

Mevzu şu ki yapmış olduğum bir tanıtım sitesi ve sürekli resim atılmasını istediğimiz bir galeri var. Fakat ne yazık ki site sahiplerinin gün içerisinde siteye girerek resim yükleyecek kadar zamanı yok ki birde sitenin panelinin nasıl kullanıldığının çözülmesi gerekiyor.

Ben de bu duruma çok kullanılan ve site sahipleri tarafından da kullanıldığını düşündüğüm bir uygulama olan insatgrama yüklenen resimlerin site galerisinde görülmesini sağlamak gibi bir yol buldum ve hemen nasıl yapabileceğimi araştırmaya başladım belki acemicedir çokta guvenemiyorum ama sonuçta bir yol buldum. Daha fazla uzatmadan php ile intagramdan resim çekme yöntemini anlatmaya geçiyorum.

  1. İlk önce bir akıllı telefon, mobil hat ve internet paketi alıyoruz 😀 (not: wifi ile de bağlanabilirsiniz)
  2. Daha sonra mobil marketlerimize giderek instagram uygulamasını indiriyoruz.
  3. Kendimize yeni bir instagram hesabı ediniyoruz (zaten varsa bu adıma kadar boşa okudun kardeş hakkını helal et 😀 )
  4. Tam olarak → BURAYA ← tıklayarak developer sayfasına giriş yapın.
  5. Sağ üstte menüde bulunan   Manage Clients   linkine tıklayın.
  6. Açılan sayfada   Register a New Client   butonuna tıklayarak devam edin.
    1. Application Name: Kendiniz bir isim verin
    2. Description: Küçük bir açıklama yapsanız fena olmaz
    3. Website URL: Web sitenizin adresini yazın
    4. Redirect URI(s): Sitenizin adresini buraya da yazarsanız bir sorun olmaz sanırım.
    5. Contact email: E-posta adresiniz
    6. Son olarak da güvenlik doğrulamasını yapın ve   Register   butonuna tıklayın.
  7. Kaydımız bittiğine göre > BURAYA < tıklayın ve açılan sayfada   Generate Access Token   butonuna tıklayın.
  8. Butona tıkladıktan sonra bir kutu içerisinde size verilmiş olan karmaşık ACCESS TOKEN kodunu kopyalayın çünkü lazım olucak (;
  9. Şimdi ise sıra instagram user id mizi almaya geldi userid yi almak için BURAYA
  10. şaka şaka BURAYA tıklayın :$ ve karşınıza çıkan kutucuğa kullanıcı adınızı girerek user id numaranızı alın ve saklayın çünkü o da lazım olacak.

Bunca adımdan sonra bazılarımız belki mevzuyu biliyordur diye düşünerek önce php ile instagramdan resim çekme kodumu veriyorum daha sonra açıklamalarını yapıcam.

Php ile instagramdan resim çekme kodlarımızı sitenizde resimlerin gösterileceği yere kopyalayın. Kodlarımızı kopyaladıktan sonra kod içerisinde ilk satırda bulunan

kodu içerisindeki düzenlemeleri yapın.

  • USER-ID-NO: Biraz önceki adımlar da şaka yaptığım kısımdan almış olduğumuz user id mizi yazıyoruz
  • ACCESS-TOKEN-KODU: user id den önce ki adımdan kopyaladığımız upuzun  karmaşık ACCESS TOKEN kodumuzu yazıyoruz.

Şimdi de php ile instagramdan resim çekme kodlarımızı açıklamanın vakti.

  • Gerekli verilere ulaşacağımız adresi $url değişkenine atıyoruz.
  • file_get_contents fonksiyonunu kullanarak açılan sayfadaki json tipindeki içeriği $endata değişkenine aktarıyoruz.
  • json_decode php fonksiyonu ile gelen json tipindeki veriyi obje türüne çevirerek $dedata değişkenine atama işlemi yapıyoruz.
  • Ardından foreach ile instagrama yüklediğimizin her bir media dosyasının verilerini çekiyoruz.
  • Instagrama video da yüklendiği içinde if $val->type == ‘image’ ile sadece resim dosyaları için işlem yaptırıyoruz.
  • Son olarak echo komutu ile aldığımız verileri istediğimiz bir düzende ekrana yazdırıyoruz.

Aslında php ile instagramdan resim çekmek basit bir işlem fakat ben gene boş boğazlılık yapıp uzun uzun anlattım. Sanırım ileride uzun içeriklerim için birde özet içerikler yapıp 😀 daha kısa ve öz yazılarla anlatmayı deneyebilirim 😀 Yazımın sonuna geldim fakat işinize yarayacağına çoook inandığım bir liste vermek istiyorum. 😀 Bu liste php ile instagramdan çekilen resimlerin hangi verilerini nasıl alırsınız gibi bir soruya cevap olabilir.

Not: $val değişken adının herhangi bir resmiliği yoktur ben foreach içerisinde öyle ayarladım diye burada da öyle yazıyorum gençler sonra ben babaannemin ismini yazsam olur mu diye sormayın tüm $val yerine babaannenizin adını yazarsanız olur.

$val->type Dosya türü
$val->filter Resimde kullanılan filtre adı
$val->created_time Oluşturulma tarihi
$val->link Resmin instagram linki
$val->likes->count Resmin beğenilme sayısı
$val->caption->text Resme girilen açıklama
$val->images->thumbnail->url Küçük resim linki
$val->images->thumbnail->width Küçük resmin genişliği
$val->images->thumbnail->height Küçük resmin yüksekliği
$val->images->low_resolution->url Orta boyut resmin linki
$val->images->low_resolution->width Orta boyut resmin genişliği
$val->images->low_resolution->height Orta boyut resmin yüksekliği
$val->images->standard_resolution->url Standart boy resmin linki
$val->images->standard_resolution->width Standart boy resmin genişliği
$val->images->standard_resolution->height Standart boy resmin yüksekliği

 

Eğer ki resmin kendi yüklediğiniz boyutta ki linkini almak isterseniz size verilen linkler içerisinde ki resmi kırpan (Örneğin: s640x640) kısmın silinmesi yeterli olacaktır bunun için küçük bir kod parçacığı önerebilirim.

Not: Lütfen bu kodu yukarıda vermiş olduğum kodda foreach içerisinde yazdığımı düşünün.

Çok kısa bir açıklama ile standart boyuttaki resmin url, width ve height değerlerini alıyorum ve standart url de bulunan (/sGENISLIKxYUKSEKLIK) kısmını silerek $link adında ki yeni bir değişkene atıyorum.

Hatalarım varsa affedin yada bana bildirin.  (: faydalı olması dileği ile

Ha unutmadan yazılarıma yapılan  G+1  lerin ve yazılarımın  sosyal  medya  da paylaşılmasının bana çok büyük desteği olur. Desteğinizi esirgemeyin.