Google AnalyticsAPI身份验证加速

时间:2010-03-12 10:38:06

标签: php api class google-analytics analytics

我正在使用Doug Tan制作的PHP中的Google AnalyticsAPI类从特定的个人资料中检索Google Analytics数据。

点击此处的网址:http://code.google.com/intl/nl/apis/analytics/docs/gdata/gdataArticlesCode.html

当您创建班级的新实例时,您可以添加个人资料ID,Google帐户+密码,日期范围以及您希望从分析中获取的任何维度和指标。

例如,我想看看有多少人在2009年访问了不同国家的网站。

//make a new instance from the class
$ga = new GoogleAnalytics($email,$password);

//website profile example id
$ga->setProfile('ga:4329539');

//date range
$ga->setDateRange('2010-02-01','2010-03-08');

//array to receive data from metrics and dimensions
$array = $ga->getReport(
        array('dimensions'=>('ga:country'),
        'metrics'=>('ga:visits'),
        'sort'=>'-ga:visits'
        )
);

现在你知道这个API类是如何工作的,我想解决我的问题。

速度。从分析数据库中检索多种类型的数据需要很多时间,尤其是在构建具有不同度量/维度的不同数组时。我怎样才能加快这个过程?

是否可以将所有可能的数据存储在缓存中,以便我可以检索数据而无需一遍又一遍地加载数据?

1 个答案:

答案 0 :(得分:2)

您可以确保在缓存中加载数据,确切地说,缓存数据的方式/位置完全取决于您。您可以使用从每个请求缓存(对于此特定问题而言毫无用处)到APCmemcached,本地数据库或甚至只是将原始结果保存到文件中的任何内容。这些当然不会更快地从Google中实际检索数据。

在这方面,很可能(没有看到代码)向Google发出的请求可能是按顺序执行的。可以扩展PHP类以允许并行请求来自Google的多组数据(例如,使用cURL Multi)。