diff --git a/analyticsdata/src/get_common_metadata.php b/analyticsdata/src/get_common_metadata.php new file mode 100644 index 0000000000..73efa5bab3 --- /dev/null +++ b/analyticsdata/src/get_common_metadata.php @@ -0,0 +1,118 @@ +getMetadata($formattedName); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } + + print('Dimensions and metrics available for all Google Analytics 4 properties:'); + printGetCommonMetadata($response); +} + +/** + * Print results of a getMetadata call. + * @param Metadata $response + */ +function printGetCommonMetadata(Metadata $response) +{ + // [START analyticsdata_print_get_metadata_response] + foreach ($response->getDimensions() as $dimension) { + print('DIMENSION' . PHP_EOL); + printf( + '%s (%s): %s' . PHP_EOL, + $dimension->getApiName(), + $dimension->getUiName(), + $dimension->getDescription(), + ); + printf( + 'custom definition: %s' . PHP_EOL, + $dimension->getCustomDefinition()? 'true' : 'false' + ); + if ($dimension->getDeprecatedApiNames()->count() > 0) { + print('Deprecated API names: '); + foreach ($dimension->getDeprecatedApiNames() as $name) { + print($name . ','); + } + print(PHP_EOL); + } + print(PHP_EOL); + } + + foreach ($response->getMetrics() as $metric) { + print('METRIC' . PHP_EOL); + printf( + '%s (%s): %s' . PHP_EOL, + $metric->getApiName(), + $metric->getUiName(), + $metric->getDescription(), + ); + printf( + 'custom definition: %s' . PHP_EOL, + $metric->getCustomDefinition()? 'true' : 'false' + ); + if ($metric->getDeprecatedApiNames()->count() > 0) { + print('Deprecated API names: '); + foreach ($metric->getDeprecatedApiNames() as $name) { + print($name . ','); + } + print(PHP_EOL); + } + print(PHP_EOL); + } + // [END analyticsdata_print_get_metadata_response] +} +// [END analyticsdata_get_common_metadata] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +return \Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/analyticsdata/src/get_metadata_by_property_id.php b/analyticsdata/src/get_metadata_by_property_id.php new file mode 100644 index 0000000000..34bb9fcbc5 --- /dev/null +++ b/analyticsdata/src/get_metadata_by_property_id.php @@ -0,0 +1,118 @@ +getMetadata($formattedName); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } + + printf( + 'Dimensions and metrics available for Google Analytics 4 property' + . ' %s (including custom fields):' . PHP_EOL, + $propertyId + ); + printGetMetadataByPropertyId($response); +} + +/** + * Print results of a getMetadata call. + * @param Metadata $response + */ +function printGetMetadataByPropertyId(Metadata $response) +{ + // [START analyticsdata_print_get_metadata_response] + foreach ($response->getDimensions() as $dimension) { + print('DIMENSION' . PHP_EOL); + printf( + '%s (%s): %s' . PHP_EOL, + $dimension->getApiName(), + $dimension->getUiName(), + $dimension->getDescription(), + ); + printf( + 'custom definition: %s' . PHP_EOL, + $dimension->getCustomDefinition() ? 'true' : 'false' + ); + if ($dimension->getDeprecatedApiNames()->count() > 0) { + print('Deprecated API names: '); + foreach ($dimension->getDeprecatedApiNames() as $name) { + print($name . ','); + } + print(PHP_EOL); + } + print(PHP_EOL); + } + + foreach ($response->getMetrics() as $metric) { + print('METRIC' . PHP_EOL); + printf( + '%s (%s): %s' . PHP_EOL, + $metric->getApiName(), + $metric->getUiName(), + $metric->getDescription(), + ); + printf( + 'custom definition: %s' . PHP_EOL, + $metric->getCustomDefinition() ? 'true' : 'false' + ); + if ($metric->getDeprecatedApiNames()->count() > 0) { + print('Deprecated API names: '); + foreach ($metric->getDeprecatedApiNames() as $name) { + print($name . ','); + } + print(PHP_EOL); + } + print(PHP_EOL); + } + // [END analyticsdata_print_get_metadata_response] +} +// [END analyticsdata_get_metadata_by_property_id] + +// The following 2 lines are only needed to run the samples +require_once __DIR__ . '/../../testing/sample_helpers.php'; +return \Google\Cloud\Samples\execute_sample(__FILE__, __NAMESPACE__, $argv); diff --git a/analyticsdata/test/analyticsDataTest.php b/analyticsdata/test/analyticsDataTest.php index ed36d78443..eb06bd52ca 100644 --- a/analyticsdata/test/analyticsDataTest.php +++ b/analyticsdata/test/analyticsDataTest.php @@ -51,6 +51,22 @@ public function testClientFromJsonCredentials() } } + public function testGetCommonMetadata() + { + $propertyId = self::requireEnv('GA_TEST_PROPERTY_ID'); + $output = $this->runFunctionSnippet('get_common_metadata'); + + $this->assertStringContainsString('Dimensions and metrics', $output); + } + + public function testGetMetadataByPropertyId() + { + $propertyId = self::requireEnv('GA_TEST_PROPERTY_ID'); + $output = $this->runFunctionSnippet('get_metadata_by_property_id', [$propertyId]); + + $this->assertStringContainsString('Dimensions and metrics', $output); + } + public function testRunRealtimeReport() { $propertyId = self::requireEnv('GA_TEST_PROPERTY_ID');