Gapi Class ile Tüm Analytics Verilerini Almak (Yeni)

elephpant-elephant-php-logo

Zamanında bende tayfunun hazırlamış olduğu yapıyı kullanıyordum fakat analtyics class.php dosyasında auth problemleri yüzünden 404 erişim hatası almaya başladıktan sonra gapi classı keşfettim geçmi kaldım bilmiyorum ama şuanlık ihtiyacımı görüyor.Hemen hemen herşey aynı olup, izlicek mail hesabını kullanıcı hesabına ekleyip izin vermek ve p12 dosyasını göstermeden ibaret.Fazla uzatmadan ;

  • Google Developer Console’dan bir Proje oluşturun ve Projeyi açın.
  • API & AUTH Sekmesinden APIs sekmesine gelerek Analytics API‘yi etkinleştirin.
  • Credential Sekmesinden Create New Client ID butonuna tıklayarak Service account hesabı oluşturun.
  • Oluşturduğumuz Service account e-mail adresini Yönetici ‘ den -> Kullanıcı Yönetimi ekleyip izin veriyoruz
  • Ardından Service Account kısmında P12 key dosyası inmemişse Generate new P12 Key tıklayarak indirebilirsiniz
  • Bu Aşamadan sonra p12 dosyasını class dosyasını bulunduğu dizine upload ediyoruz

Diğer Ayarlarımız eskisindeki gibi sadece şifreyi p12 dosyasının adını yazdığımız zaman işlem bitiyor
 

 
require "gapi.class.php";

$gaEmail    = 'youremail@email.com';
$p12Pass    = 'pass';
$profileId  = 'Profil ID';
$baslangic  = '2015-06-03';
$bitis 	    = '2015-07-03';
$dimensions = array('date');
$metrics    = array('visits','pageviews');
$sortMetric	= null;
$filter		= null;

$ga = new gapi($gaEmail,$p12Pass);
$gaDef->requestReportData($profileId,$dimensions,$metrics,$sortMetric,$filter,$baslangic,$bitis);

	foreach($gaDef->getResults() as $result)
	{
		echo $result->getVisits()."<br/>";
		echo $result->getPageviews();
		$tekil[] = $result->getVisits();
		$cogul[] = $result->getPageviews();
	}

Verileri aldıktan sonra ister yazdırın ister chartlara entegre edin.İstedğiniz gibi metrics dimensions kombinasyonları yapabilirsiniz .Giriş,çıkış sayfaları, ortalama süreler vs..

Demo

Çalışmayı İndir

Kullandığım kaynaklar ;

https://github.com/erebusnz/gapi-google-analytics-php-interface
https://developers.google.com/analytics/devguides/reporting/core/dimsmets

http://www.highcharts.com/

1 Yorum

  1. merhaba, örneğinizi inceledim. kodları kendi makinemde çalıştırmak istedim fakat aşağıdaki hata mesajını alıyorum.
    Notice: Undefined variable: gaDef in C:\wamp\www\Admin\analitik\index.php on line 16

    Yanıt
    • Hata sadece o değil, bir kaç tane daha var. Kendi demosunu göndermemiş, kısıtlayarak, sadece aylık grafiğin yer aldığı bir script göndermiş, onda da dünya kadar hata yapmış.
      Ben illeri göstermek için internette araştırma yapıyordum, bu arkadaşın sitesine uğradım demoya baktım tamda istediğim şey var ama demo nere, indirilen script nere.
      Düzeltip bu adrese attım. Faydalanmak isteyen olursa bakabilir. Tabiki demodaki grafik var sadece.

      Yanıt
  2. indirdiğim dosyada pasta grafikler ve örnekteki gibi tablar yok. projenin tamamını içeren dosyayı paylaşır mısınız lütfen.

    Yanıt
      • Hocam öncelikle cevap için teşekkür ederim.Şöyle bir durum var.Tayfun hocanın verdiği api çalışmayınca ben başka bir api buldum ve şu an onu kullanıyorum.Sizin örneğinizdeki piechart’ı kullanarakta ziyaretçilein hangi ülkeden geldiğini görmek istiyorum.Benim kullandığım kodlarda veriler şu şekilde çekiliyor:
        http://paste.ofcode.org/wYfqA2Zt4npYHHUSvn8Ufr

        Yukarıdaki kodlarla tekil ve çoğul ziyaretçileri grafiğe aktarabiliyorum.Fakat iş metrik ve dimensions’ları değiştirip ülke isimlerini ve yüzdelerini pasta grafiğe yazdırmaya gelince, yukarıdaki kodlar sadece oranları çekiyor ve ülke isimleri gelmiyor.Kod bilgim çok yetersiz ancak sanırım sorun yukarıdaki örnekte for kullanmamızdan kaynaklanıyor.Ülkeleri çekerken ise foreach kullanmamız gerekiyor sanırım.Yukarıdaki kodlarıma bir göz atıp nasıl olması gerektiğini söylerseniz çok memnun olurum

        Yanıt
  3. Notice: Undefined variable: toDate in C:\xampp\htdocs\index.php on line 26

    Merhaba Boyle bir hata alıyorum demodaki kodları tamamen paylaşırmısınız

    Yanıt
    • Başlangıç tarihinizi istediğiniz gibi ayarlayabilirsiniz bu aralar yoğunluktan dolayı bakamıyorum skype(zelter8) eklerseniz yardımcı olabilirim

      Yanıt
  4. merhaba hocam elinize sağlık demo’da olan örnekteki dosyayı paylaşma şansınız var mı indirdiğimiz dosyada sadece tekil ve çoğul giriş vardı.

    Yanıt
  5. kardeş çok güzel çalışma yapmışsın eline sağlık ancak keşke tüm sürümü paylaş saydın demo ile indirilen aynı değil.

    Yanıt

Yorum Bırak.