2017-09-10 30 views
7

tôi biết làm thế nào để truy cập dữ liệu Google Analytics với Data Studio hoặc with Google Apps script trong Javascript:Lấy số lượng khách truy cập từ kịch bản

var account = Analytics.Management.Accounts.list().items[0]; 
var webProperties = Analytics.Management.Webproperties.list(account.id); 
... 
var report = Analytics.Data.Ga.get(tableId, startDate, endDate, metric, 
    options); 

Nhưng trong PHP, làm thế nào là nó có thể lấy số lượng khách truy cập của một trang web cụ thể hoặc trang cụ thể, từ tài khoản/thuộc tính/chế độ xem Google Analytics? ví dụ:

đầu vào: phân tích tài khoản đăng nhập/mật khẩu/mã trang web 'UA-XXXXX-Y' đầu ra

: [19.873, 17.873, 13.999, 21.032, ..., 16.321] (tức là số số lượt truy cập vào www.example.com cho mỗi trong 30 ngày qua, dưới dạng danh sách các số nguyên hoặc JSON)

+0

Nếu bạn hài lòng với việc sử dụng v3 của API, hãy xem bài đăng này: https://stackoverflow.com/questions/46039271/google-analytics-api-get-page-views-by-url/46040074#46040074 . –

Trả lời

1

Tôi sử dụng gói này:

https://github.com/google/google-api-php-client

Bạn có thể sử dụng nó để truy cập vào tất cả các API của Google từ PHP, bao gồm tất nhiên Google Analytics

Dưới đây là ví dụ về cách sử dụng:

// create client object and set app name 
$client = new Google_Client(); 
$client->setApplicationName('Your app name'); // name of your app 

// set assertion credentials 
$client->setAssertionCredentials(
    new Google_AssertionCredentials(
     '[email protected]', // email you added to GA 
     [ 
      'https://www.googleapis.com/auth/analytics.readonly'),   
      file_get_contents('/your/key/file.p12') // keyfile you downloaded 
     ] 
    ) 
); 

// other settings 
$client->setClientId('your-client-id'); // from API console 
$client->setAccessType('offline_access'); // this may be unnecessary? 

// create service and get data 
$service = new Google_AnalyticsService($client); 

$from_date = date("Y-m-d",strtotime("-30 days")); // A month 
$to_date = date("Y-m-d"); 

$response = $service->data_ga->get(
    "ga:profile_id", // profile id 
    "$from_date", // start date 
    "$to_date", // end date 
    "ga:uniquePageviews", 
    [ 
     'dimensions' => 'ga:pagePath', // Dimensions you want to include, pagePath in this example 
     'sort' => '-ga:uniquePageviews', // Sort order, order by unique page views from high to low in this case 
     'filters' => 'ga:pagePath=~\/articles\/[a-zA-Z0-9\-]+', // example url filter 
     'max-results' => '50' // Max results 
    ] 
); 
foreach ($response["rows"] as $row) { 
    // ...do whatever you want with the results 
} 

Ngoài ra, đây là một hướng dẫn về cách sử dụng các API của Google:

https://developers.google.com/api-client-library/php/start/get_started

EDIT: Bạn cần phải tạo thông tin để truy cập API Analytics. Bạn làm điều đó ở đây: https://console.cloud.google.com/flows/enableapi?apiid=analyticsreporting.googleapis.com&credential=client_key. Trước tiên, bạn cần phải đăng ký dự án và sau đó tạo thông tin đăng nhập. Có ba tùy chọn: khóa API, ID khách hàng OAuth và Khóa tài khoản dịch vụ. Tôi không muốn sử dụng OAuth, vì vậy tôi đã sử dụng Khóa tài khoản dịch vụ. Bạn có thể thử sử dụng Khóa API, trong trường hợp này, thay thế cuộc gọi $client->setAssertionCredentials(...) cho $client->setDeveloperKey(your_api_key). Bạn không thể sử dụng tên người dùng và mật khẩu trực tiếp AFAIK.

+0

Bạn cần phải tạo thông tin đăng nhập để truy cập API Analytics. Bạn làm điều đó tại đây: https://console.cloud.google.com/start/api?id=analyticsreporting.googleapis.com&credential=client_key. Trước tiên, bạn cần phải đăng ký dự án và sau đó tạo thông tin đăng nhập. Có ba tùy chọn: khóa API, ID khách hàng OAuth và Khóa tài khoản dịch vụ. Tôi không muốn sử dụng OAuth, vì vậy tôi đã sử dụng Khóa tài khoản dịch vụ. Bạn có thể thử sử dụng Khóa API, trong trường hợp này, thay thế lệnh '$ client-> setAssertionCredentials (...)' cho '$ client-> setDeveloperKey (your_api_key)'. Bạn không thể sử dụng tên người dùng và mật khẩu trực tiếp AFAIK. –

+0

Ok, tôi vừa làm vậy. –

4

Bạn có thể sử dụng ứng dụng khách API Google Analytics bằng PHP. Google analytic api client library

Bạn có thể sử dụng Query Explorer để tạo truy vấn cần kiểm tra.

Mã số Ví dụ:

$analytics = new analytics('username', 'password'); 
$analytics->setProfileByName('user.name'); 
//set the date range for which you want stats for 
$analytics->setMonth(date('n'), date('Y')); 
// it could also be $analytics->setDateRange('YYYY-MM-DD', 'YYYY-MM-DD')) 
print_r($analytics->getVisitors()); 
print_r($analytics->getPageviews()); 

Ví dụ trên sử dụng client API của Google Analytics trong PHP. Nó là thư viện đầu tiên được phát hành trong PHP. Sáu năm sau, phần mềm này đã lỗi thời. Google đã thay đổi API. Thay vào đó, bạn có thể sử dụng thư viện GAPI. Trên đây là ví dụ về cách nó hoạt động, bạn có thể bao gồm lớp gapi để làm cho nó hoạt động.

GAPI Analytic Library

Một cách khác là bạn có thể sử dụng Báo cáo Google Analytics API v4 cho PHP. Bạn có thể lấy này sử dụng soạn:

composer require google/apiclient:^2.0 

Guide to usage of this library is at github

+0

Cảm ơn. Bạn có thể đưa ra ví dụ về cách thực hiện điều này trong trường hợp cụ thể này (ví dụ: nhận được số lượng khách truy cập của một trang web cụ thể trong 30 ngày qua) không? – Basj

+0

Đây là ví dụ về mã để thu hút khách truy cập và lượt xem. trong các ngày. Hy vọng nó sẽ giúp bạn: '$ analytics = phân tích mới ('tên người dùng', 'mật khẩu'); $ analytics-> setProfileByName ('user.name'); // đặt phạm vi ngày mà bạn muốn thống kê cho $ analytics-> setMonth (ngày ('n'), ngày ('Y')); // cũng có thể là $ analytics-> setDateRange ('YYYY-MM-DD', 'YYYY-MM-DD')) print_r ($ analytics-> getVisitors()); print_r ($ analytics-> getPageviews()); ' Tôi cũng đã chỉnh sửa câu trả lời ở trên của mình với cùng một câu trả lời. – Manu

+0

Cảm ơn. Mã của bạn có sử dụng [gapi-google-analytics-php-interface] này không (https://github.com/erebusnz/gapi-google-analytics-php-interface) như được giải thích trong [liên kết bạn đã cung cấp] (https://www.swis.nl/ga) hoặc API khác? Thật vậy, mã của bạn trông khác: 'phân tích mới ('tên người dùng', 'mật khẩu'); 'API nào? (Tôi cần phải bao gồm tệp .php nào?) – Basj

Các vấn đề liên quan