Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Method: Location get does not return price in serviceItems array #2607

Open
syedMSohaib opened this issue Jul 2, 2024 · 2 comments
Open

Comments

@syedMSohaib
Copy link

syedMSohaib commented Jul 2, 2024

Environment details

  • OS: MacOs
  • PHP version: 8.3.7

Steps to reproduce

  1. As mentioned in the documentation, i am trying to get data for a particular location and using below API, as the api returns the data, but in serviceItems price object is missing, As per https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations#Location.ServiceItem
    below should be the object
{
 "price": {
   object ([Money](https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations#Location.Money))
 },

 // Union field service_item_info can be only one of the following:
 "structuredServiceItem": {
   object ([StructuredServiceItem](https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations#Location.StructuredServiceItem))
 },
 "freeFormServiceItem": {
   object ([FreeFormServiceItem](https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations#Location.FreeFormServiceItem))
 }
 // End of list of possible types for union field service_item_info.
}

but in my case price node is missing

Code example

$response = $client->authorize()->request('GET', 'https://mybusinessbusinessinformation.googleapis.com/v1/locations/xxxx?readMask=name,languageCode,storeCode,title,phoneNumbers,categories,storefrontAddress,websiteUri,regularHours,specialHours,serviceArea,labels,adWordsLocationExtensions,latlng,openInfo,metadata,profile,relationshipData,moreHours,serviceItems');

$response = json_decode($response->getBody());

I also tried using https://developers.google.com/oauthplayground, still same result price object is missing !

Thanks!

@syedMSohaib syedMSohaib changed the title Method: Location get does not return price in serviceItems array #5288 Method: Location get does not return price in serviceItems array Jul 3, 2024
@Hectorhammett
Copy link
Contributor

Hello @syedMSohaib! Thanks for the message.

Taking a look a the spec it mentions that price is optional:
image

Is the price set for the ServiceItem?

Also, I recommend taking a look at the BusinessProfilePerformance service in the google-api-php-client-services repo here:
https://github.com/googleapis/google-api-php-client-services/tree/main/src/BusinessProfilePerformance

That class should let you access the API without writing a query from the client and use the service instead. Shouldn't fix this issue mind you, but should make writing code easier.

@syedMSohaib
Copy link
Author

@Hectorhammett thanks for reaching back to me and for the suggestion.

In original code, i am actually using the service instead, just giving you the query API for a context to know that these are the variable i am asking for from api.

Is the price set for the ServiceItem?

The admin of our GBP Location is updating the pricing directly from google GBP portal, but while fetching the API it does not return the prices node,

Screenshot 2024-07-13 at 3 12 54 PM

If you want i can give the complete API response, and parameters !,

Will be eagerly waiting for your response, Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants