Google

[inmediahk] 2010-12-06 頁面瀏覽資料統計(二)

續上一篇

啊, 說好的 "GA 最熱門 block" 要跳票了, 這星期... 太忙了, Freelance 纏身

先將部份的代碼分享上來, 讓大家研究一下

首先建立一個 url, 這個url 會跟據參數返回 GA 的結果

<?php
function ga_api_menu() {
 
$items = array();

 
$items['ga_api/ahah'] = array(
   
'title' => 'AHAH',
   
'page callback' => 'ga_api_ahah_callback',
   
'access callback' => TRUE,
  );
 
  return
$items;
}
?>

以下是查詢 GA 的代碼, 使用 ga:pi class, 只提取 pageview

<?php

function ga_api_ahah_callback() {
 
//使用一個新注冊, 唯讀的帳戶作提交要求
 
$ga = new gapi('username','password');
 
//讀取參數
 
$path = $_GET['d'];
 
//留一個機會使用緩存
  //$results = cache_get('ga_api_'.$path);
 
 
if (empty($results)) {
   
$filter = 'pagepath=='.$path;
   
$start_date = date('Y-m',strtotime('-1 Year')).'-01';
   
$end_date = date('Y-m-d');
    try{
     
$ga->requestReportData(8930156,array('pageTitle','month','year'),array('pageviews'),array('year','month'),$filter,$start_date,$end_date);
    } catch(
Exception $e) {
      print
drupal_json(array('status' => TRUE, 'data' => $e->getMessage()));
      exit();
    }
   
$results = $ga->getResults();
   
//cache_set('ga_api_'.$path, $results,'cache',date('U',strtotime("+1 day")));
 
}
 
//kprint_r($results);
 
$output = '';
 
//輸出 json
 
foreach($results as $id => $result)
  {
   
$output .= '<div>';
   
//$datetime = DateTime::createFromFormat('m',$result->getMonth());
   
$output .= $result->getYear().'-'.$result->getMonth() . ': ';
   
$output .= 'PV'.$result->getPageviews();
   
$output .= ' ('.mb_substr ($result->getPagetitle(),0,7).'...)';
   
$output .= '</div>';
  }
 
  print
drupal_json(array('status' => TRUE, 'data' => $output));
  exit();
}
?>

 

以上的代碼都先使用 GA 的 console 試試存取, 再變成使用 class 的代碼, 而 GA export 的文件和例子都很全面, 中英文都一樣完整, 值得一讚

[inmediahk] 2010-11-29 頁面瀏覽資料統計

在使用 boost 模組以增加伺服器的負載和提高反應時間的同時,
因為boost 會完全繞過資料庫的讀取, 內建的統計模組便會失去功能
只能靠 Google analytics 或者 web server 端的統計數字
問題都不是太嚴重
但兩種統計都不能給眾多作者和編輯存取成為唯一的缺點

還好, Google analytics 有 export API 理論上是可以提供簡單的資料的
但因為一直沒有時間, 而且之前也沒有使用這 API 的經驗
便一直放下至近日..

借助 ga:pi() GAPI - Google Analytics API PHP Interface
寫了一個簡單的 AJAX callback 返回目標頁面過去十二個月的每月 Pageview
再在每一個 node 的 links 加一個 <a> 以呼叫 AJAX 請求
逹到以下的效果:

(使用 tipsy 顯示結果)

下一步是建立一個 "最多人觀看block" 放在首頁
實作代碼等一下再放出

2007-03-29 Movable type on Wordpress, Drupal

番查google analytics,
感謝各位來自drupalchina 和 drupaltaiwan 的同好
可惜, 我這裡並沒有drupal 的tips 或 教學
更沒有一個 drupal distribution.

一開始走進drupal 是為自己的興趣
現在是為了錢
看看那裏有個project 可以開發
賺些外快

今晚我會更新我的About 的了

----------------------------------------------

由於我在公司打blog 的習慣
又因為怕公司的網管會發現這裏 (其實可能已經發現)
我一直都遵從前輩的建議
先在email 打blog, 回到家才將email post 上

但這一個post 跟上一個post (yahoo mail)
都是用google docs publish 的

wordpress 本身支持 rpc (remote procedure call)
可以在另一些domain 之下 (如google docs)
發佈, 刪除post 而用不著登入到wordpress

對於我這些懶人
又可以省一個step 將email post 到blog 了
google docs 又有一個backup
方便~
blogger.com 當然支持
但原來drupal 4.4+ 也支持xmlrpc
使用moveable type api
發佈post
支援詳細列表

----------------------------------------------

2007-03-28 Unlimited space in Yahoo mail

還記得當年Gmail 平地一聲雷
開出一個1GB 的 webmail service (現為2.8G+)
google 都由此開始向非 developers 用戶群展開攻勢
達至今日的成就

當時兩大webmail 巨頭 yahoo 跟 hotmail 慢了一拍
但都先後加大了電郵容量到 1GB 和 250MB

事隔數年
大家都習慣了大容量電郵,
2GB 手指都不用一百的今天
yahoo mail 宣佈推出無容量限制webmail

http://www.techcrunch.com/2007/03/27/yahoo-mail-announces-unlimited-stor...

其實我現在的gmail 都只用了10% 左右
再加大對我都沒有好處
但細想一下
當容量再不能成為吸引力
在容量上平等起來
大家便要在其他增值功能上比高低
google reader, google calendar, google docs, blogger.com....
就是這些一條龍式的增值功能才令我歸順google 的...
太方便了....

2007-03-26 Google reader

第三屆特區行政長官選舉
一起身已經選完了
反正那晚杯光酒影 馬照跑 舞照跳
都改變不了結果

三月的monthly asset value increase 奇蹟似的達標在望
大巿也有回順的意味
又回到究竟止還是等待的問題上...

今日要特別介紹一個google 的service
Google reader
大家有否發覺xanga 其中一個方便的功能就是subscriptions?
subscription 提供一個summarized 的頁面
令你一頁便可以看到你所subscribed 的用戶的最新entries
免卻要續一到訪各朋友的xanga
為用戶省下不少時間, bandwidth

但xanga 的subscription 只可subscribe xanga 用戶
而 Google reader 就可以subscribe xanga, blogger.com, wordpress.org, 討論, 新聞組, google calendar....等等
方便吧

http://www.google.com/reader/