2017-04-24 20 views
0

私は小さなブログサイトを運営し、投稿ページにGAのページビューを表示します。 フェッチ処理には20秒以上かかるという問題があります。 もっと速くするために、Guzzle6 APIを見つけましたが、これらのAPIをどのように組み合わせて連携させるのか分かりません。 私がしたいのは、GA apiを実行して投稿のページビューを同時に取得することです。Guzz6 with Google Analytics api

それともみんなが速く、各記事のページビューを取得するための他の方法を知っていれば、私はあまり理解されるであろう!

ありがとうございました。参照用

、ここで私が現在使用してGA APIコードです。あなたは​​に見れば(これは罰金が、複数の投稿のためのページビューを取得するには余りにも遅い動作します。)

function views() { 

require_once 'gapi.php'; 
$jsonPath = __DIR__ . '/THE-PATH'; 
$serviceClientId = 'THE-SC-ID'; 
$pID = 'P-ID'; 
$slug = get_the_slug_for_each_post(); 

$ga=new gapi($serviceClientId,$jsonPath); 

date_default_timezone_set('Asia/Tokyo'); 
$dimensions = 'pagePath'; 
$metrics = 'Pageviews'; 
$sortMetric = null; 
$filter = 'ga:[email protected]/'.$slug; 
$startDate = '2015-01-01'; 
$endDate = date('Y-m-d'); 
$startIndex = 1; 
$maxResults = 10000; 

$ga->requestReportData($pID, $dimensions, $metrics, $sortMetric, $filter, $startDate, $endDate, $startIndex, $maxResults); 

foreach($ga->getResults()as$result) { 
    $views = $result->getPageviews(); 
} 
    return $views; 
} 

答えて

0

あなたはそれがすでにがつがつ食うを使用していることがわかります。したがって、行動の必要はありません。

"name": "google/apiclient", 
    "type": "library", 
    "description": "Client library for Google APIs", 
    "keywords": ["google"], 
    "homepage": "http://developers.google.com/api-client-library/php", 
    "license": "Apache-2.0", 
    "require": { 
     "php": ">=5.4", 
     "google/auth": "^0.11", 
     "google/apiclient-services": "^0.11", 
     "firebase/php-jwt": "~2.0|~3.0|~4.0", 
     "monolog/monolog": "^1.17", 
     "phpseclib/phpseclib": "~0.3.10|~2.0", 
     "guzzlehttp/guzzle": "~5.2|~6.0", 
     "guzzlehttp/psr7": "^1.2" 
    } 

私はあなたがローカルデータベースからページごとのデータを照会し、その後、サーバー上のデータベーステーブルに(一日に一回程度)事前にデータをダウンロードすることを示唆しているあなたの問題を解決するために。これは速くなるだけでなく、サイトの拡大に​​合わせてAPIのクエリ制限を回避するのにも役立ちます。