gapic-generator-python
gapic-generator-python copied to clipboard
Improve support for `X-Goog-FieldMask` header
Environment details
- OS type and version: MacOS 14.5 (23F79)
- Python version: 3.12.3
- pip version: 24.0
google-api-coreversion: 2.19.1
Steps to reproduce
- Set up
PlacesAsyncClient - Make a
search_textrequest
Code example
from google.auth.api_key import Credentials
from google.maps import places_v1
from google.protobuf import field_mask_pb2
from google.type import latlng_pb2
async def sample_search_text():
api_key = "..."
# Field mask goes where?
field_mask=field_mask_pb2.FieldMask(paths=["places.displayName", "places.id"]),
client = places_v1.PlacesAsyncClient(
credentials=Credentials(token=api_key)
)
request = places_v1.SearchTextRequest(
text_query="21 Great Winchester Street, London",
location_bias=places_v1.SearchTextRequest.LocationBias(
circle=places_v1.Circle(
center=latlng_pb2.LatLng(
latitude=51.519993, longitude=-0.0813288
),
radius=1000,
)
),
max_result_count=20,
)
response = await client.search_text(request=request)
print(response)
if __name__ == "__main__":
import asyncio
asyncio.run(sample_search_text())
Stack trace
google.api_core.exceptions.InvalidArgument: 400 FieldMask is a required parameter. See https://cloud.google.com/apis/docs/system-parameters on how to provide it. As an example, you can set the header 'X-Goog-FieldMask' to value 'places.displayName', 'places.id' to ask for the display name and the place id of a place. You can also set the value to '*' in manual testing to get all the available response fields.
Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!
Hi @gregbrowndev,
Please see the code snippet in https://github.com/googleapis/google-cloud-python/issues/12083#issuecomment-1841330241 which shows how X-Goog-FieldMask can be set.
I'm going to keep this issue open as a feature request to improve support for setting X-Goog-FieldMask similar to https://github.com/googleapis/google-cloud-cpp/issues/13929
I'm going to transfer this issue to gapic-generator-python which is the repository for the Cloud SDK Python Client Code generator where the feature request can be triaged.