Sercan Çepni

Google Analytics Api Kullanımı PHP

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.

Exit mobile version