gpt4 book ai didi

php - Google Analytics API 如何检索下一页数据

转载 作者:行者123 更新时间:2023-12-02 03:57:30 24 4
gpt4 key购买 nike

我正在使用 Google Analytics API 检索我的一份个人资料的报告数据。如果报表中的行数超过 1000,则响应包含 1,000 个结果以及一个名为 nextPage 的参数,该参数包含下一页数据的 URL。我很困惑如何实际使用此 URL 来检索数据。我使用什么API方法来实际获取下一页数据。这是我的代码:

$client = new Google_Client();
$client->setApplicationName('Google Analytics'); // name of your app

// set assertion credentials
$client->setAssertionCredentials(
new Google_Auth_AssertionCredentials(

GOOGLE_ANALYTICS_SERVICE_EMAIL, // email you added to GA

array('https://www.googleapis.com/auth/analytics.readonly'),

file_get_contents(storage_path().'/keys/privatekey.p12') // keyfile you downloaded

));

$client->setClientId(GOOGLE_ANALYTICS_CLIENT_ID); // from API console

$service = new Google_Service_Analytics($client);

$result = $service->data_ga->get(
'ga:'.DEFAULT_VIEW_ID,
'2014-09-01',
'2015-01-26',
'ga:uniquePageViews',
array(
'dimensions'=>'ga:dimension1',
'filters'=>'ga:dimension3==product'
)
);

print_r($result);

其结果是 Google_Service_Analytics_GaData 对象,其中包含 1000 行数据以及以下内容:

[nextLink] => https://www.googleapis.com/analytics/v3/data/ga?ids=ga:86454007&dimensions=ga:dimension1&metrics=ga:uniquePageViews&filters=ga:dimension3%3D%3Dproduct&start-date=2014-09-01&end-date=2015-01-26&start-index=1001&max-results=1000

如何使用此 nextLink 检索下一页数据? Google SDK 中一定内置了某种机制,对吗?

最佳答案

如果您查看该链接中的参数,您会发现它与原始查询相同,但 start-index 值设置为 1001:

https://www.googleapis.com/analytics/v3/data/ga?
ids=ga:86454007&
dimensions=ga:dimension1&
metrics=ga:uniquePageViews&
filters=ga:dimension3%3D%3Dproduct&
start-date=2014-09-01&
end-date=2015-01-26&
start-index=1001&
max-results=1000

所以基本上你必须继续执行查询,直到 start-index + itemsPerPage > totalResults。此外,如果您知道自己将拥有一个大型数据集,则通常可以将 max-results 字段设置为更高的值,例如 10000

它不是 PHP SDK 的一部分,但 this module显示了发出多个请求直到达到 totalResults 的示例。

关于php - Google Analytics API 如何检索下一页数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com