Google Places API OVER_QUERY_LIMIT少于50个请求

时间:2018-09-25 23:54:58

标签: google-places-api

我刚开始为正在开发的应用程序使用Google Maps和Google Places API。将请求发送到if word not in words: words.append(word) 端点时,我仍然收到OVER_QUERY_LIMIT错误,即使我发出的请求数量非常少。

我知道这不是API密钥,因为除非更改或删除要发送的https://maps.googleapis.com/maps/api/place/autocomplete/json查询参数,否则我不会收到无效密钥错误。

我用于调用API的代码(通过Android上运行的NativeScript Angular应用):

key

有趣的笔记:

  • 昨晚我提出了一些错误的请求,试图弄清楚如何使用API​​
  • 尽管在我的Google开发者控制台上看到的请求少于40个,但我突然收到import { Location as Geolocation } from "nativescript-geolocation"; import { TokenModel } from "nativescript-ui-autocomplete"; // And other stuff // Injectable class, blah blah blah public getRestaurantSuggestions( search: string, location: Geolocation = null ): Observable<TokenModel[]> { let route: string = "https://maps.googleapis.com/maps/api/place/autocomplete/json"; route += `?key=${AppConstants.GOOGLE_MAPS_API_DEV_KEY}`; route += `&keyword=${search}`; route += "&types=establishment"; if (location) { route += `&location=${location.latitude},${location.longitude}`; route += `&radius=${AppConstants.GOOGLE_MAPS_SEARCH_RADIUS}`; } return this._http.get(route).pipe( map((response: Response) => { return response.json(); }), map((response: { error_message: string, predictions: { name: string }[], status: string }) => { if (response.error_message) { throw new Error(`${response.status}: ${response.error_message}`); } return response.predictions.map(p => { return new TokenModel(p.name, null); }); }), catchError((error: Error) => { return throwError(error.message); }) ); } 错误响应
  • 今天(不到24小时之后),我能够发送一个成功的请求,但是又收到了OVER_QUERY_LIMIT

以下是Google开发者控制台中“使用中的API”表中的当前数字:

OVER_QUERY_LIMIT

如您所见,FAR的数量少于未设置信用卡或任何其他设置所允许的最大请求数量。

发生了什么事?

编辑

According to this,Google刚刚对其进行了更改,因此您必须设置结算信息才能使用Places API。当我在开发我的应用程序的Alpha版本时熟悉API时,我为此深感遗憾。我将继续设置帐单信息,看看是否可以解决该问题。

1 个答案:

答案 0 :(得分:0)

这是我所怀疑的。正如我在对问题according to this所做的修改中所述,Google刚刚对其进行了更改,因此您必须设置结算信息才能使用Places API。

确实如此,这让我感到无聊,但我想那是适合您的Google。

现在,我要进行另一次冒险-在每个请求上遇到INVALID_REQUEST错误。 :/