如何使用分页来检索下一个结果集?

时间:2016-06-16 14:12:54

标签: php pagination google-api google-analytics-api google-api-php-client

enter image description here

我有Google Analytics PHP API。一切正常。但我需要得到  来自[nextLink] => https://www.googleapis.com/analytics/v3/data/ga?ids=ga:....的{​​{1}}数据 因此,问题是如何使用结果数组中的[nextLink]网址来访问下一页数据。

我知道几乎有类似的问题被问到once但它没有答案所以我问它因为我找不到解决方案。

我很感兴趣看到一些小的PHP代码示例,另外请,谢谢:)

结果我看到数据数组:

[nextLink]

主要的PHP代码是:

[columnHeadersType:protected] => Google_Service_Analytics_GaDataColumnHeaders
    [columnHeadersDataType:protected] => array
    [containsSampledData] => 
    [dataTableType:protected] => Google_Service_Analytics_GaDataDataTable
    [dataTableDataType:protected] => 
    [id] => https://www.googleapis.com/analytics..........
    [itemsPerPage] => 1000
    [kind] => analytics#gaData
    [nextLink] => https://www.googleapis.com/analytics/v3/data........&start-index=1001&max-results=1000
    [previousLink] => 
    [profileInfoType:protected] => Google_Service_Analytics_GaDataProfileInfo
    [profileInfoDataType:protected] => 
    [queryType:protected] => Google_Service_Analytics_GaDataQuery
    [queryDataType:protected] => 
    [rows] => Array

1 个答案:

答案 0 :(得分:1)

它应该是这些方面的东西。 Pagination

$token = $results->getNextPageToken();
while($token != null) {


    $params = array('dimensions' => 'ga:pagePath,ga:deviceCategory,ga:city,ga:operatingSystem,ga:screenResolution        ,ga:sourceMedium,ga:keyword',
                'pageToken' => $token);

    $result = $analytics->data_ga->get('ga:' . $profileId,
                                   'yesterday',
                                   'yesterday',
                                   'ga:sessions,ga:hits,ga:sessionDuration',                                       $params);
   $token = $results->getNextPageToken();

}

抱歉,我现在没有掌握php的强大功能,所以我无法测试它。但它应该是接近的。你只需要检查第一个请求中是否有下一个链接,如果它们通常只是循环它,直到我拥有所有内容。

提示:请记住,每次获取下一个链接时,您的计数都将计入1。