2017-04-24 1 views
0

작은 블로그 사이트를 운영하고 게시물 목록에 GA 페이지 뷰를 표시합니다. 문제는 인출 프로세스가 약 20 초 이상 소요된다는 것입니다. 더 빨리 만들려면 Guzzle6 API를 찾았지만이 API를 함께 결합하는 방법을 모르겠습니다. 내가하고 싶은 일은 GAAPI를 실행하여 게시물에 대한 페이지 뷰를 동시에 얻는 것입니다.Guzzle6 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

당신이 들여다 경우 composer file of the PHP API client 당신이 이미 목구멍를 사용하는 것을 볼 수 있습니다. 따라서 행동을 취할 필요가 없습니다.

"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에 대한 쿼리 제한을 피하는 데 도움이됩니다.