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) -

Tahir

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."
16 Temmuz 2014 - Yanıtla


faikgunay

Merhaba Tahir,
Sanırım authentication token süresi dolmuş. Yeni bir tane alıp deneyebilirsin ?
16 Temmuz 2014 - Yanıtla


Tolga

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.
05 Mart 2015 - Yanıtla


faikgunay

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 ;)
08 Mart 2015 - Yanıtla


oktay

Ustam, bunun php yerine c# kodlarını nerden bulabilirim
13 Nisan 2015 - Yanıtla


faikgunay

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.
18 Nisan 2015 - Yanıtla


Mustafa

Ç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ü..
02 Mayıs 2015 - Yanıtla


faikgunay

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.
03 Mayıs 2015 - Yanıtla


murat şahin

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 ?
03 Mayıs 2015 - Yanıtla


faikgunay

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.
09 Mayıs 2015 - Yanıtla


Ömer Faruk Çam

Arkadaşlar İnstagramda Api Kuruyorum ama Takip Ettiremiyorum birilerini . benim hesabımı otomatik takip ettirmesi lazım .
02 Temmuz 2015 - Yanıtla


Ercan

merhaba; öncelikle teşekkürler. Aldığımız bu kodu tam olarak nereye eklemeliyiz?
08 Nisan 2016 - Yanıtla


faikgunay

Selam Ercan,
Demo sayfası var. Oradaki kodları incelersen senin için daha yararlı olur.
09 Nisan 2016 - Yanıtla


nuri

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
23 Ocak 2017 - Yanıtla


Kurtar Karakuş

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?
12 Mayıs 2018 - Yanıtla


Yorum ekle