来自 Nodejs 的 Google Places Api - 设置语言

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

我正在尝试编写一个脚本来访问新的Google Places API。

根据文档中的示例,我可以使以下内容发挥作用

curl -X POST -d '{
  "textQuery" : "101 Gowrie, Amsterdam"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: ...' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

但是在我的nodejs脚本中我认为是相同的:

fetch("https://places.googleapis.com/v1/places:searchText", {
  method: "POST",
  body: JSON.stringify({ textQuery: "101 Gowrie, Amsterdam" }),
  headers: {
    "Content-Type": "application/json",
    "X-Goog-Api-Key": apiKey,
    "X-Goog-FieldMask": "places.displayName,places.formattedAddress"
  }
}).then(res => res.json()).then(console.log).catch(console.log)

但随后我收到错误

{
  error: {
    code: 400,
    message: "Invalid language_code: '*'. See full list of supported languages at https://developers.google.com/maps/faq#languagesupport.\n",
    status: 'INVALID_ARGUMENT'
  }
}

我的查询中没有

*
,并且想要英文结果,所以我很困惑

google-maps-api-3 google-places-api
2个回答
1
投票

我在 https://developers.google.com/maps/documentation/places/web-service/text-search#languagecode 找到了答案,它将

languageCode
添加到正文


0
投票

Google 建议使用其 Node.js Javascript 客户端而不是 REST API。

Places API(新):Node.js 示例

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