我想知道每天执行cron来更新网站每一页的综合浏览量而不超出API限制的最佳方法是什么。该网站有数千个独特的页面。
我正在使用PHP和Google Analytics(分析)API,对所有用户进行循环并更新浏览量,但是这种方式太慢了,它将超出每日报价的限制。
一些改善技巧?
$analytics = initializeAnalytics();
$profile = getFirstProfileId($analytics);
$update = $db->prepare('UPDATE users SET user_views=? WHERE user_id=?');
foreach($db->query('SELECT * FROM user') as $user){
$result = $analytics->data_ga->get('ga:' . $profile, '2016-01-01', 'today', 'ga:pageViews', array('filters' => 'ga:pagePath=@/' . $user['user_subdomain']));
$views = $result[0][0] > 0 ? $result[0][0] : 0;
$update->execute(array($views, $user['user_id']));
}
答案 0 :(得分:1)
您可以跳过对用户页面路径过滤器的请求拆分,而是使用单个请求来获取所有页面路径的所有页面浏览量。 v4报告API允许通过一次响应最多获取10万行。因此,您可能只需要一个请求,即可按页面路径获取页面浏览量,然后遍历响应对象以查找包含单个用户数据的行