Closed Natblow closed 7 months ago
Hi @Natblow, thanks for raising this issue.
Can you confirm if you're script is using grpc or rest? The template /v1beta/{property=properties/*
is used by rest transport and your code could fallback to rest if grpc is not detected by the script.
Hi @yash30201 I'm using the same script written above and indeed it is falling back to rest transport. When I force grpc transport like this :
$client = new BetaAnalyticsDataClient([
'transport' => 'grpc'
]);
it is not detecting grpc in the system somehow :
An uncaught Exception was encountered
Type: Google\ApiCore\ValidationException
Message: gRPC support has been requested but required dependencies have not been found. For details on how to install the gRPC extension please see https://cloud.google.com/php/grpc.
Filename: /var/www/vendor/google/gax/src/GrpcSupportTrait.php
Line Number: 56
Backtrace:
File: /var/www/vendor/google/gax/src/Transport/GrpcTransport.php
Line: 118
Function: validateGrpcSupport
File: /var/www/vendor/google/gax/src/GapicClientTrait.php
Line: 476
Function: build
File: /var/www/vendor/google/gax/src/GapicClientTrait.php
Line: 411
Function: createTransport
File: /var/www/vendor/google/cloud/AnalyticsData/src/V1beta/Gapic/BetaAnalyticsDataGapicClient.php
Line: 297
Function: setClientOptions
....
Here lies the issue I guess...
Hi @Natblow, thanks for raising this issue.
Can you confirm if you're script is using grpc or rest? The template
/v1beta/{property=properties/*
is used by rest transport and your code could fallback to rest if grpc is not detected by the script.
@Natblow, did you try and see if this works for you?
If it does works, you can go ahead with it or install grpc so that you can using the previous template. I would recommend installing grpc as it has better performance than rest. You can find steps to install in our documentation
https://github.com/googleapis/google-cloud-php?tab=readme-ov-file#grpc-and-protobuf
Hi @yash30201 , that works thank you.
The grpc transport should also work as I have it installed but it doesn't detect it.
I'll use the rest transport for now.
Thank you for your help!
Can you run php -i | grep grpc
and see what is the output?
If grpc is enabled in your machine, then it would output something like :-
grpc
grpc support => enabled
// rest of the grpc configuration
If you're not getting it but you're sure you did install grpc with a success, then make sure you've updated you're php configuration file as mentioned here. After that you can run php -i | grep grpc
and you should see that it's installed.
When I run php -i | grep grpc
it does confirm it is enabled :
grpc
grpc support => enabled
...
Have you updated your packages (composer update)? If not the can you please try updating them (especially google/gax)
On the other note, do you have the protobuf extension installed and enabled? Or you're using the php implementation (it's automatically required in google/gax
which is already there in AnalyticsData's composer.json
so no need to implicitly enable this)
You can check this by php -i | grep protobuf
Thank you @yash30201 , protobuf wasn't well setup. Now it seems working :
Seems I'm getting the right response object. I don't get any data but that will be another thing for me to look on.
Thank you!
When using the same code sample, I am running into this error:
Could not map bindings for google.analytics.data.v1beta.BetaAnalyticsData/RunPivotReport to any Uri template. Bindings: Array ( [property] => ) UriTemplates: Array ( [0] => /v1beta/{property=properties/*}:runPivotReport )
I checked if the
property_id
was correct but everything seems good.Please let me know if I might be missing something or if the problem is a change in Google's API.