Güncellendi Tüm Sorunlar Çözüldü
Google Analytics hepinizin bildiği gibi web sitemizin istatistiklerini tutuyor ve sitemize gelen ziyaretciler hakkında detaylı bilgiler sunuyor. Yeni yazmaya başladığım şehir protalı scripti için ilk başta bir istatistik kodu yazacaktım fakat sonra düşündüm neden google amcanın nimetlerinden faydalanmıyorum kendim yazmaya kalksam hem zaman alacak hemde giriş çıkışlar artıkca veri tabanını şişirmeye başlayacak o yüzden bende Google Analytics verilerini çekmeye karar verdim zaten mantıklı olan da buydu fakat 4-5 gün boyunca beni çok uğraştırdı google aramadığım yer kalmadı herkes eski sürüm ile ilgili paylaşımlar yapmış ondada sorun api ile giriş yapmıyor direk şifre ve e-posta adresi ile giriş yapıyor bunu da yapmak için hesap ayarlarınızdan güvenliği düşürmeniz gerekiyor buda sakıncalı açıkcası ayrıca zaten artık çalışmıyor google direk engelledi sadece api ile veri çekebilirsiniz diyor. Lafı fazla uzatmadan konuya geçelim ;
İlk olarak aşağıdaki adresten Download Zip diyerek dosyaları indirin ;
https://github.com/Winchester37/Google-Analytics-PHP-Chart
Yukardaki linkten indirdiğiniz dosyalardan index.php dosyasını açtığınızda altta verdiğim kodlar çıkacak arkadaşlar. Değişikleri aşağıda anlattığım gibi yapın. Ayrıca googleapi.class.php dosyasını açın ve 178 satırda yer alan $start_date değişkenini istediğiniz tarihten başlata bilirsiniz.
<?php require 'googlegapi.class.php'; define('ga_profile_id','Profil idsi buraya girilecek'); $ga = new gapi("google verdiği mail adresi girilecek", "p12 uzantılı dosya yazılacak"); $ga->requestReportData(ga_profile_id, array('date', 'userDefinedValue'),array('pageviews', 'uniquePageviews', 'visits', 'visitors', 'exitRate', 'avgTimeOnPage', 'entranceBounceRate', 'newVisits'), 'date'); $results = $ga->getResults(); ?> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Gün'); data.addColumn('number', 'Ziyaretci'); data.addRows([ <?php foreach($results as $result) { echo '["'.date('M j',strtotime($result->getDate())).'", '.$result->getVisits().'],'; } ?> ]); var chart = new google.visualization.AreaChart(document.getElementById('chart')); chart.draw(data, {width: 910, height: 250, title: 'Son Bir Aylık Verileriniz;', colors:['#058dc7','#e6f4fa'], areaOpacity: 0.1, hAxis: {textPosition: 'in', showTextEvery: 5, slantedText: false, textStyle: { color: '#058dc7', fontSize: 10 } }, pointSize: 5, legend: 'none', chartArea:{left:0,top:30,width:"100%",height:"100%"} }); } </script> <div id="chart"></div>
Kodlarda da göreceğiniz üzere 3 yeri kendinize göre değiştirmeniz gerekiyor ilk olarak “ga_profile_id” nereden bulacağınızı anlatayım Google Analytics giriş yapın. Ardından hangi sitenin verilerini çekecekseniz onu seçin, aşağıda gördüğün gibi bir adres satırı olacak orada bizim için önemli olan tek sayılar “p” harfinden sonra gelen lerdir o sayıları size verdiğim index.php içerisinde “ga_profile_id” karşısında yapıştırın.
İlk Aşama tamamlandı sıra geldi ikinci ve üncü bilinmeyenlere alt kısımdaki adrese girip Google Api yönetim paneline ulaşın ;
https://console.developers.google.com/project
Giriş yaptık dan sonra Create Project diyin karşına küçük bir ekran çıkacak proje ismi verin örneğin sitenizin adı. Ardından Sol menüden APIs tıklayın ordan Analytics API bulup tıklayın. Ardından Enable API diyerek etkin hale getirin. Etkin Hale getirdikten sonra Sol menüden Credentials tıklayın karşınıza gelen ekran dan “Create new Client ID” tıklayın. Tıkladık dan sonra karşınıza üç seçenek gelecek ordan Service account işaretleyip “Create Client ID” diyerek onaylayın. Onayladıktan sonra bilgisayarınıza otomatik .json uzantılı bir dosya indircek önemli değil onu silin gitsin. Bizim için önemli olan kısım altaki resimden de görüleceği gibi “Generate new P12 key” ve “Email address” adresi kısmı “Generate new P12 key” tıkladıktan sonra otomatik bir dosya inecek onu localhostunuzdaki açtığımız google dosyasına koyun.
index.php içerisindeki aşağıdaki alanlara uygun bir şekilde bilgilerinizi girin arkadaşlar indirilen p12 key dosyasının tam adını ve oluşturulan service account mail adresini tam olarak yazın.
$ga = new gapi("xxxxxxxxx@developer.gserviceaccount.com", "xxxxxx.p12");
Şimdi geldi son aşamaya oda bu mail adresini google analytics tanımlamamız lazım giriş yaptığınız hesabı açın site bilgilerine girin Yönetici kısmından Kullanıcı yönetimine girin Şunun için izin ekleyin: kısmına size verilen mail adresini yazın ve direk ekle ye basın eğer anlattıklarımı harfiyen yaptıysanız karşınıza grafikli bir şekilde istatistikleriniz gelmiştir.
Arkadaşlar kod da bir sıkıntı var 3 aylık bir dönemi alıyor belki sizde daha fazla bir dönem bile ala bilir o yüzden yazımı takip edin bir kaç gün içinde düzeltecem o sorunu ve sadece 1 aylık dönem deki verileri alacak.
Kodda yaşanan sorun çözülmüştür arkadaşlar istediğiniz tarih aralığını kendiniz girebilirsiniz.
Merhaba, anlatım için teşekkür ediyorum. Harfiyen uygulamama rağmen aşağıda belirttiğim hatayı almaktayım. Profil id doğru ama olmadı.
Notice: Use of undefined constant ga_profile_id – assumed ‘ga_profile_id’ in C:xampphtdocsgapi-google-analytics-php-interface-masterindex.php on line 5
Fatal error: Uncaught exception ‘Exception’ with message ‘GAPI: Failed to request report data. Error: “Invalid value ‘ga:ga_profile_id’. Values must match the following regular expression: ‘ga:[0-9]+'”‘ in C:xampphtdocsgapi-google-analytics-php-interface-mastergapi.class.php:208 Stack trace: #0 C:xampphtdocsgapi-google-analytics-php-interface-masterindex.php(5): gapi->requestReportData(‘ga_profile_id’, Array, Array) #1 {main} thrown in C:xampphtdocsgapi-google-analytics-php-interface-mastergapi.class.php on line 208
Buyuk ihtimal xxxx li yerleri değil direk 5 satırda bulunan id kısmına değerleri yazdiniz 6 satıra kadar olan yeri yorum olarak atın bakiyim
İsterseniz, eve geçtiğimde bağlantı vereyim dediklerinizi şuan anlayamadım :))
Ercanın aldığı hatayı bende alıyorum anlatımda gözden kaçırdığınız bir işlem olamaz mı ? bu arada teşekkürler paylaşımınız için.
Yorum olarak bana değiştirdiğiniz kodları yollarmısınız. baktıktan sonra yorumu sileceğim yayınlanmıyacak.
önceki yorumumu yayınlamazsanız sevinirim.
Kodları değiştirirken yanlışlıkla bir bir yeri silmişsiniz orjinal dosyalarla tekrar deneyin sorun çözülmez ise iletişim kısmından dosyaları gönderin bir bakayım.
Öncelikler anlatımlarınızdan dolayı çok teşekkür ederim.
Dediklerinizi yaptım.
Fatal error: Uncaught exception ‘Exception’ with message ‘ in C:\wamp\www\google\gapi.class.php on line 662
hatasını ve
Fatal error: Uncaught exception ‘Exception’ with message ‘ in C:\wamp\www\google\gapi.class.php on line 662
hatasını almaktayım.Bu sorunu nasıl aşarım?
access token hatalı giriş yapmışsınız gibi duruyor dosyaları takrar kontrol ettim tüm sistem çalışıyor.
Çok teşekkürler sorunsuz hallettim peki anlık ziyaretçi verilerini çekebiliyor muyuz? ve ya giren kişilerin istatistik diğer verilerini?
İstediğiniz tüm veriler çekile biliyor fakat ayın sonlarına doğru konuya ekleyebileceğim.
$ga = new gapi(“xxxxxxxxxxxxxx@developer.gserviceaccount.com”, “xxxxxxxxx.p12”); beşinci satır kullanıcı bilgisisini doğruyamadı diyor class içindeki 662. satırı gösteriyor
Merhaba, online kişi sayısı ve diğer uygulamalar için kaynak önerebilir misiniz
Bir iki hafta içinde konuyu güncelleyeceğim. Biraz eskidi artık daha ayrıntılı olacak.
Ben “https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/” buradaki gibi yapmaya calıstım fakat beceremedım. Farklı grafiklerle kullanmak istiyorum bir de. Yeni yazınızı bekliyorum.
Esenlikler.
O kadar aradım sonun burada buldum. Teşekkürler Sercan Bey
Çok teşekkürler makaleyi güncelleyecek tim ancak şu sıralar çok yoğun olduğumdan fırsat bulamadım.
mrb p12 uzantılı dosya’ yı ve generate new p12 key dosyalarını oluşturamıyorum ve bulamıyorum.
merhaba hocam her seyi yaptim sadece
bize verilen emaili google analystic girip ordanmi ekliyecez goremedim (Şunun için izin ekleyin)
bulamadim tam olarak nerde yardim icin tesekurler..
Google Analytics girdiğiniz de sol alt köşede yönetici kısmı var oraya girdikten sonra karşınıza 3 bölüm gelecek en sağdaki görünüm bölümünden User Management kısmına ekleyeceksiniz.