-
Notifications
You must be signed in to change notification settings - Fork 341
Expand file tree
/
Copy pathGet_Has_Property_Access.php
More file actions
77 lines (70 loc) · 2.69 KB
/
Get_Has_Property_Access.php
File metadata and controls
77 lines (70 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/**
* Class Google\Site_Kit\Modules\Analytics_4\Datapoints\Get_Has_Property_Access
*
* @package Google\Site_Kit\Modules\Analytics_4\Datapoints
* @copyright 2026 Google LLC
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
* @link https://sitekit.withgoogle.com
*/
namespace Google\Site_Kit\Modules\Analytics_4\Datapoints;
use Google\Site_Kit\Core\Modules\Datapoint;
use Google\Site_Kit\Core\Modules\Executable_Datapoint;
use Google\Site_Kit\Core\REST_API\Data_Request;
use Google\Site_Kit\Core\REST_API\Exception\Missing_Required_Param_Exception;
use Google\Site_Kit_Dependencies\Google\Service\AnalyticsData\RunReportRequest as Google_Service_AnalyticsData_RunReportRequest;
use Google\Site_Kit_Dependencies\Google\Service\AnalyticsData\DateRange as Google_Service_AnalyticsData_DateRange;
use Google\Site_Kit_Dependencies\Google\Service\AnalyticsData\Dimension as Google_Service_AnalyticsData_Dimension;
use Google\Site_Kit_Dependencies\Google\Service\AnalyticsData\Metric as Google_Service_AnalyticsData_Metric;
/**
* Has property access datapoint.
*
* @since n.e.x.t
* @access private
* @ignore
*/
class Get_Has_Property_Access extends Datapoint implements Executable_Datapoint {
/**
* Creates a request object.
*
* @since n.e.x.t
*
* @param Data_Request $data Data request object.
* @return mixed Request object on success, or WP_Error on failure.
* @throws Missing_Required_Param_Exception Thrown if a required parameter is missing.
*/
public function create_request( Data_Request $data ) {
if ( ! isset( $data['propertyID'] ) ) {
throw new Missing_Required_Param_Exception( 'propertyID' );
}
// A simple way to check for property access is to attempt a minimal report request.
// If the user does not have access, this will return a 403 error.
$request = new Google_Service_AnalyticsData_RunReportRequest();
$request->setDimensions( array( new Google_Service_AnalyticsData_Dimension( array( 'name' => 'date' ) ) ) );
$request->setMetrics( array( new Google_Service_AnalyticsData_Metric( array( 'name' => 'sessions' ) ) ) );
$request->setDateRanges(
array(
new Google_Service_AnalyticsData_DateRange(
array(
'start_date' => 'yesterday',
'end_date' => 'today',
)
),
)
);
$request->setLimit( 0 );
return $this->get_service()->properties->runReport( $data['propertyID'], $request );
}
/**
* Parses a response.
*
* @since n.e.x.t
*
* @param mixed $response Request response.
* @param Data_Request $data Data request object.
* @return mixed The original response without any modifications.
*/
public function parse_response( $response, Data_Request $data ) {
return $response;
}
}