Google Places Autocomplete API 返回“The Places API 服务器返回了我们无法理解的响应”(错误代码 -2)

问题描述 投票:0回答:1

我在 iOS 应用程序中使用 Google Places API 来获取特定地理区域内地点的自动完成建议。但是,我收到错误,但无法解决它。这是我正在使用的代码:

func searchPlaces(query: String) {
    guard !query.isEmpty else {
        self.querylocations = []
        return
    }

    let token = GMSAutocompleteSessionToken()

    let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051)
    let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087)

    let filter = GMSAutocompleteFilter()
    filter.types = [kGMSPlaceTypeRestaurant]
    filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds)

    let request = GMSAutocompleteRequest(query: query)
    request.filter = filter
    request.sessionToken = token

    GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
        if let error = error {
            print("Autocomplete error: \(error)")
            return
        }
        if let autocompleteResults = results {
            for result in autocompleteResults {
                if let place = result.placeSuggestion {
                    self.querylocations.append(Place(name: place.attributedFullText.string,
                                                     coordinate: CLLocationCoordinate2D(),
                                                     id: place.placeID))
                }
            }
        }
    })
}

我遇到以下错误:

自动完成错误:错误 Domain=com.google.places.ErrorDomain 代码=-2 “Places API 服务器返回了我们无法理解的响应。如果您认为此错误代表一个错误,请按照以下说明提交报告我们的社区和支持页面 (https://developers.google.com/places/ios-sdk/support)。” UserInfo={NSLocalizedFailureReason=Places API 服务器返回了我们无法理解的响应。如果您认为此错误代表一个错误,请按照我们的社区和支持页面 (https://developers.google.com/places/ios-sdk/support) 上的说明提交报告。, NSUnderlyingError=0x600000e10ed0 {Error Domain=com.google.HTTPStatus Code=403“内部错误”UserInfo={NSLocalizedDescription=内部错误}}}

查看 Google Places API 文档后,我发现这是与内部服务器问题相关的错误,但我想知道是否有人遇到过此问题以及如何解决。

我检查过的内容: 我的 API 密钥正确且配置正确。 我已确保在我的 Google Cloud Console 中启用 Places API。 我已经检查了我的 API 使用配额,没有超出它们。 熟悉计费:我已确保计费处于活动状态并且与我的项目相关联。

有人以前遇到过这个问题或者对如何解决这个问题有任何想法吗?

ios swift google-maps google-places-api
1个回答
0
投票

我在使用 Google Places API 的 iOS 应用程序中遇到错误,但在 Postman 中运行良好。事实证明,API 密钥并不局限于 Places API。我转到 Google Cloud Console > API 和服务 > 凭据,添加了对 Places API 和 Places API(新)的限制,然后保存。之后,应用程序中一切正常!

© www.soinside.com 2019 - 2024. All rights reserved.