【问题标题】:Google App Engine: API is not being called in deployed versionGoogle App Engine:已部署版本中未调用 API
【发布时间】:2017-01-14 15:10:04
【问题描述】:

我正在使用 Google AppEngine 构建一个网络应用程序。我正在使用 Google Maps、Google Places 和 Geocoding API。

在本地版本中,一切正常。页面加载时,会指示用户的当前位置,并在网页上显示的地图上用标记标记附近的所有商店。

在已部署的版本中,仅加载地图。我检查了控制台开发人员在 Google 上的日志,发现向 Google Maps API 发出了请求,但没有向 Google Places 或 Geocoding API 发出请求。我真的很困惑/不确定发生了什么。我尝试浏览一些旧问题,但我不知道如何解决这个问题。如果有人能提供解决方案,我将不胜感激。

** 我已确保部署的版本是最新版本。它 100% 可以在 localhost 上运行,但不能在已部署的网页上运行。

编辑:API 没有被调用,因为它们不适用于“不安全的来源”。我已将处理程序下的 app.yaml 配置为

- url: /.* 
script: IGNORED 
secure: always

但好像没什么区别。

【问题讨论】:

  • 人们,停止投票以结束您不理解的问题!
  • 您在浏览器控制台中看到任何错误吗?
  • @AndreiVolgin 理解问题并不是投票结束问题的必要条件(毕竟结束的原因之一是“不清楚你在问什么”)。但在这种情况下,恕我直言,这是题外话:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及 重现它所需的最短代码 在问题本身中。这个没有代码,没有日志/错误,只是一个背后可能有各种原因的故事。邀请猜测。
  • @DanCornilescu:这是来自 SO 新手的问题。至少,礼貌的事情是解释如何改进问题。我们想要一个有礼貌的社区,对吧? :) 另外,投票结束是因为问题是“与编程无关”,这是不正确的。
  • @AndreiVolgin 哦,谢谢!有一条警告指出,我调用的某些函数不再适用于“不安全的来源”。还有一个未捕获的参考错误,但它没有显示在我的本地版本的日志中。很抱歉我没有在我的问题中包含任何代码,老实说,我认为没有必要,因为我的问题是在我部署我的应用程序之后发生的。

标签: javascript google-maps google-app-engine google-maps-api-3 google-app-engine-python


【解决方案1】:

您不必单独调用 Google Places 和 Geocoding API。所有这些都包含在 Google Map API 中。如果您想选择应该在地图中包含的内容click here 以参考有关自定义地图的 API。

【讨论】:

  • 在 App Engine 上,您必须在开发控制台中单独启用这些 API。
【解决方案2】:

默认情况下,Google App Engine 不支持安全连接,这是 Geolocation 和 Google Places API 都需要才能调用的。但是,Google App Engine 可以支持安全连接。本地主机确实支持安全连接,这就是我的应用程序的本地版本可以正常工作的原因。

要在部署应用后正确支持安全连接,只需在 Handlers 下的 app.yaml 文件中添加参数“secure: always”即可!

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 2013-09-23
    • 2015-11-13
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    相关资源
    最近更新 更多