Ahmet Oğuz Koca

Sosyal olaylar.

Asp.net MVC ile GooglePlus Api kullanımı

Google bu hafta içinde Google+ (google plus) için API desteğini kısıtlı özelliklerle de olsa açınca bende .net developerlar için basit bir client yazma gereği duydum.  Google'ın API'ye ek özellikler eklemesiyle birlikte paylaştığım kodları geliştirmeyi planlıyorum. Görüş ve önerilerinizi benimle paylaşırsanız kodların geliştirilmesine katkıda bulunabilirsiniz.

Şu an paylaştığım kodlarda Oauth2 ile yetki alıp bu yetkiyi kullanarak basit bir get sorgusu yapıyoruz. Bir çok arkadaşın konuya yabancı olduğunu düşünerek adım adım ilerleyeceğimiz bir yazı hazırladım.

Adım 1. API Başvurusu

Öncelikle Google'ın kendi uygulamaları için sağladığı API'lere erişim için Google Console aracılığıyla bir API projesi başlatıyoruz Link => https://code.google.com/apis/console

 

Adım 2 Soldaki menüden Servisleri seçelerek Google+ Plus için API servisini aktif hale getiriyoruz (API şu an beta aşamasında olduğundan dolayı günlük 1.000 sorgu ile kısıtlanmış durumda)

Gelen sözleşmeyi okuyarak :)) kabul ediyoruz.

 

Adım 3 Soldaki menüden API Access'i seçiyoruz ve gelen sayfadaki büyük butona tıklıyoruz

 

Adım 4 Yeni açılan Modal Box'ta Product Name olarak bir isim belirliyoruz ve Next butonu ile bir sonraki sayfaya ilerliyoruz.

Yeni sayfamızda ortadaki "More Options" linkine tıklayarak Oauth Uygulamamız için gerekli CallBackURL'yi ve Uygulama Adresimizi giriyoruz

Bu noktada eğer SSL kullanmıyorsanız linklerinizi düzeltmeyi unutmayın. httpS:// http://

Create Client ID butonuna tıklayarak uygulamamızı oluşturuyoruz.

 

 

Adım 5 Google üzerindeki bu son adımımızda Google'ın bizim için oluşturduğu ClientID ve ClientSecret değerlerini uygulamamızda kullanmak üzere kaydediyoruz.

 

Google üzerindeki işlemlerimizi tamamladık şimdi bir Asp.Net MVC 3 projesi oluşturuyoruz ve Solution'umuza sağ tıklayarak properties'i seçiyoruz. Soldaki menüden WEB ayarlarına geliyoruz ve uygulamamızı 2323 nolu porttan çalışmak üzere configüre ediyoruz

Böylelikle Google üzerinde belirttiğimiz URL adresleri üzerinden taleplerimize gelen cevapları karşılamış olacağız.

Kodları mümkün olduğu kadar basit tutmaya çalıştım ancak ilerleyen zamanlarda diğer Oauth 2 providerlarıylada çalışmak isteyeceğinizi düşünerek basit OOP teknikleriyle bir kaç class'tan oluşan bir uygulama yazdım.

Eğer takıldığınız bir konu olursa bana mesaj bırakabilirsiniz.

Class'larımız

1) OAuthBase Class=> Temel Oauth işlemleri için kullanılıyor

2) GPlusAuth => OAuthBase'den türüyor, uygulamamız için gerekli configürasyon ayarlarını tutuyor ve google api serviceleri ile iletişimizi sağlıyor

3) NameValueParser => Taleplerimizi name value çiftleri şeklinde oluşturmamızı sağlayan bir statik method içeriyor.

4) WebRequest Http get ve post Requestleri yapmamızı sağlıyor.

 

Uygulamayı zip olarak indirmek için =>

gplus.zip (2,76 mb)

Not: Nuget üzerinden projenize Newtonsoft'un Json parser'ini eklemeyi unutmayınız.

OAuthBase.cs

GPlusAuth.cs ConsumerKey ve ConsumerSecret alanlarına sırasıyla ClientID ve ClientSecret değerlerinizi girin

NameValueParser.cs

WebRequest.cs

HomeController'imiz ve Index Metodu için cshtml dosyamız.

Index.cshtml

Bu adımları uyguladıktan sonra uygulamayı sorunsuz olarak derleyebiliyor olmanız gerekmekte. Başlat linkine tıkladıktan sonra gerekli izinleri vermemizin ardından tekrar gplus uygulamamıza dönüyoruz. Bu noktada daha sonraki işlemlerimizde kullanacağımız access_token değeri session'a alınıyor. http://localhost:2323/Home/Test ile ilk yetki isteyen sorgumuzu yapıyoruz. Varsayılan olarak Who parametresine "me" değeri geçilmekte, isterseniz bu parametreye istediğiniz bir kullanıcının id değerinizi verebilirsiniz örn;

http://localhost:2323/home/test?who=110652224654705955381

ile Erol Dizdar'ın Google+ hesap detaylarını alabilirsiniz

Loading