googleapis / googleapis/google-cloud-python

Improve support for `X-Goog-FieldMask` header

未关闭
#16,296 3 条评论 0 个 reaction 已指派 1 人 已被 @ohmayr 认领 在 GitHub 查看
api: places type: feature request
主要语言
Python
星标
5.4k
派生
1.8k
平均合并
3 天 4 小时
30 天内合并 PR
122

描述

#### Environment details

- OS type and version: MacOS 14.5 (23F79)
- Python version: 3.12.3
- pip version: 24.0
- `google-api-core` version: 2.19.1

#### Steps to reproduce

1. Set up `PlacesAsyncClient`
2. Make a `search_text` request

#### Code example

```python
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!

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。