Instagram API Yardımıyla Fotoğraf Görüntüleme

Instagram

 Günümüzde oldukça popüler olan ve Facebook'un satın alması ile daha da büyüyen fotoğraf paylaşma uygulaması olan Instagram , diğer uygulamarın (facebook,twitter,googleplus vs) da oldugu gibi geliştiricilere sunduğu apisi bulunmaktadır. Instagram Developer sitesini ziyaret ederek geliştirici dökümantasyonuna ulaşabilirsiniz. Oradaki örnekleri inceleyerek Instagram'ın bize sunduğu nimetlerden yararlanabilirsiniz.

 Bende bugün bu apiyi kullanarak sizlere instagram fotoğramlarımı listeleyeceğim. Fazla uzatmadan hemen sırasıyla işlemlerimizi gerçekleştirelim :

1) Instagram'a login olduktan sonra http://instagram.com/developer/clients/register/ linkine tıklıyoruz. Karşımıza gelen ekranda bilgileri dolduruyoruz ve "Register" butonuna basıyoruz.

Register a New Client

Register a New Client

 

2) Artık uygulamamıza ait "Client ID" ve "Client Secret" unique değerlerine sahibiz. Bize lazım olan "authentication token" almak için aşağıdaki linke bize verilen client id'mizi ve web site linkimizi yazıyoruz.

https://instagram.com/oauth/authorize/?display=touch&client_id=[ClientID]
&redirect_uri=[callbackuri]/&response_type=token

3) Linkimizin sonucunda yazdığımız sitenin sonuna eklenen "code" parametresinin değeri bize "authentication token" verecek.

http://your-redirect-uri?code=CODE

4) Aldığımız bu code sayesinde artık instagram ile iletişim kurabileceğiz. İletişim kurmadan önce instagram user id'mizi "Get your instagram user ID"  tıklayarak alabiliriz. Artık bu işlemlerimizi tamamladıktan hemen jquery yardımıyla jsonp data tipiyle resimlerimizi ve bu resimlere ait bilgileri çekelim.

Eğer popüler fotoğrafları görüntülemek istiyorsak ;
url:  "https://api.instagram.com/v1/media/popular?client_id=[ClientID]&access_token=[CODE]"

Eğer kişisel fotoğraflarımızı görüntülemek istiyorsak ;
url: "https://api.instagram.com/v1/users/[UserID]/media/recent/?access_token=[CODE]"

Eğer belirttiğimiz bir etikete göre son fotoğrafları görüntülemek istiyorsak;
url:  "https://api.instagram.com/v1/tags/[TAG]/media/recent?client_id=[ClientID]&access_token=[CODE]"

Eğer belirlediğimiz bir yere göre son fotoğrafları görüntülemek istiyorsak;
url:  "https://api.instagram.com/v1/media/search?lat=[LAT]&lng=[LNG]&distance=[DST]?client_id=[ClientID]&access_token=[CODE]"

$.ajax({
        type: "GET",
        dataType: "jsonp",
        cache: false,
        url: "https://api.instagram.com/v1/users/[UserID]/media/recent/?access_token=[CODE]",
        success: function(data) {...}
    });
});

 

Görüldüğü gibi instagram üzerinden fotoğraflarımı çektim. Bu fotoğrafları düzenlemek artık size kalmış :) Aşağıdan yaptığım örneği inceleyebilirsiniz.

 

Kaynak : techmonks.net

Yorumlar (15) -

Merhaba,
Paylaşım için teşekkürler.
Aşağıda yer alan hatayı almaktayım, yardımcı olursanız sevinirim.

error_type: "OAuthAccessTokenException",
code: 400,
error_message: "The access_token provided is invalid."

faikgunay 16.7.2014 22:32:23

Merhaba Tahir,
Sanırım authentication token süresi dolmuş. Yeni bir tane alıp deneyebilirsin ?

Merhaba, güzel bir paylaşım olmuş. Sormak istediğim bir şey var. İnstagramda otomatik paylaşım yapabilmek mümkün müdür? Teşekkürler.

faikgunay 8.3.2015 01:57:15

Merhaba Tolga,
İnstagram API'si yardımıyla post işlemi gerçekleşmiyor maalesef. Fakat uygulama içinden instagram'a fotoğraf aktarabiliyorsun. (https://help.instagram.com/355896521173347)
Ayrıca şu linki ( lancenewman.me/posting-a-photo-to-instagram-without-a-phone ) incelemende fayda var ;)

Ustam, bunun php yerine c# kodlarını nerden bulabilirim

faikgunay 18.4.2015 13:53:40

Selam Oktay,
Yukarıdaki kod jquery ile yazılmıştır. C# ile HttpClient yardımıyla apiyi çağırıp, json formatında verileri çekebilirsin.

Çok güzel yazı olmuş kardeşim..

Benim bi sorunum var izinler konusunda..

Benim API'de sadece şu izin var = " Access your basic informationIncludes photos, friend lists & profile info "

Ama ben şu izinleri de eklemek istiyorum =

" Like photosOnly with your express permission " ,
"Follow/unfollow other usersOnly with your express permission"..

Lütfen yardımcı olur musun? Kaç gündür bulamadım çözümü..

faikgunay 3.5.2015 00:09:03

Selam Mustafa,
https://instagram.com/developer/endpoints/likes/ adresinden "access_token" : "A valid access token" yazısı var ise; oradaki get, post ve delete işlemlerini gerçekleştirebilirsin.

murat şahin 3.5.2015 03:46:25

Merhaba, öncelikle böyle bir konuda yazdığınız için teşekkür ederim şahsım adına.
Benimde bir sorum olacaktı;
{"code": 403, "error_type": "OAuthForbiddenException", "error_message": "Implicit authentication is disabled"}
Böyle bir hata alıyorum nedeni ne olabilir sizce ?

faikgunay 9.5.2015 09:43:59

Selam Murat,
İnstagram'da developer hesabınla girdikdikten sonra oluşturmuş olduğun uygulamanın güvenlik ayarlarında ' Disable implicit OAuth ' diye bir check var . Onu kaldırdığın zaman düzelecektir.

Ömer Faruk Çam 2.7.2015 00:33:32

Arkadaşlar İnstagramda Api Kuruyorum ama Takip Ettiremiyorum birilerini . benim hesabımı otomatik takip ettirmesi lazım .

merhaba; öncelikle teşekkürler. Aldığımız bu kodu tam olarak nereye eklemeliyiz?

faikgunay 9.4.2016 00:30:43

Selam Ercan,
Demo sayfası var. Oradaki kodları incelersen senin için daha yararlı olur.

Faik bey merhaba bu örnektki kodları yazdım tüm id kod herşeyi aldım ama boş sayfa çıkıyor siz bana kendi demo örneğinizin kodlarını paylaşablir misiniz acaba rica etsm

Kurtar Karakuş 12.5.2018 01:43:55

Sizin kodlarınızı aynen aldım. Userid ve Token değerlerini kendi değerlerimle değiştirdim Boş beyaz sayfa çıkıyor.
Client Status   Sandbox Mode  yazıyor. bunu değiştimek lazım sanırım ama nasıl?

Yorum ekle