新的 Places API 会话令牌会持续多久?

Posted

技术标签:

【中文标题】新的 Places API 会话令牌会持续多久?【英文标题】:How long do the new Places API session tokens last? 【发布时间】:2018-10-28 03:44:53 【问题描述】:

我的网站在多个页面上使用地址自动填充功能——地址簿、送货地址、帐单地址。随着下个月发布的计费更改,我们可以将自动完成过程转换为使用会话而不是单个击键。 (https://cloud.google.com/maps-platform/user-guide/pricing-changes/#billing-changes)

AutocompleteSessionToken 可以使用多长时间?当前页面?一小时?十二?永久,每次在新月份出现时都计入限制? 如果会话令牌确实过期了,并且我们通过请求发送该令牌,结果会是什么?如果客户将网页打开一天后回来取货,而我们的会话数据尚未过期,我们如何确保他们不会收到自动填充错误?

【问题讨论】:

【参考方案1】:

作为 Google 地图的客户,当我们联系他们的支持团队时,与我们合作的代理告诉我们超时为 3 分钟。

【讨论】:

我只是想补充一点,官方文档声明within a few minutes of the beginning of the session,所以你被引用的3分钟可能会随着时间而改变developers.google.com/places/android-sdk/…【参考方案2】:

据我所知,没有关于 Google Maps Platform 中 Places API 会话持续时间的官方文​​档。我可以分享一些从技术支持处获得的有关会话的信息,但是,它没有提供会话持续时间的确切值,而且 Google 似乎不会透露确切值。

首先,如果您使用 Maps javascript API 的内置 Autocomplete 小部件,它会自动为您生成会话,因此无需担心。

如果您创建自己的小部件,您应该注意会话不会持续很长时间。自动完成会话包括一些自动完成请求(用于在用户键入时检索有关地点的建议)和最多一个地点详细信息请求(用于检索有关用户选择的地点的详细信息)。

相同的会话令牌被传递给自动完成和随后的地点详细信息请求。

会话从第一个自动完成请求开始(这通常发生在用户开始输入时)。通常,在用户选择了其中一个自动完成建议后会调用 Places Details。

在用户选择了一个地点后(例如,调用了 Places Details),必须使用新的会话令牌启动一个新会话。

一个会话令牌不能用于多个用户会话。如果重复使用令牌,则会话将被视为无效,并且请求将被收取费用,就像没有提供会话令牌一样。

如果会话令牌过期或失效,您将按每次击键付费。所以每个自动完成请求都会被收费。

我希望这些信息对您有用。

【讨论】:

你能扩展一下这个f you use the built-in Autocomplete widget of Maps JavaScript API, it generates sessions for you automatically, 什么是内置的?就像在地图中有搜索框的页面上放置动态地图一样? 内置小部件是google.maps.places.Autocompletegoogle.maps.places.SearchBox。他们会自动为您生成会话令牌。如果您使用google.maps.places.AutocompleteService,您应该自己创建会话令牌。查看cloud.google.com/maps-platform/user-guide/pricing-changes中的会话令牌示例 @xomena 我看到 Google API 小部件不会为每个会话生成相同的令牌,而是为每个请求生成不同的令牌。请帮忙。 ***.com/questions/51728344/… @xomena 我在我的自动完成和详细信息请求中使用 sessiontoken,但我需要为没有地点详细信息 SKU 的自动完成付费。有什么想法吗? @Michael 您是否在自动完成后执行地点详细信息请求?您是否传递相同的会话令牌来放置详细信息?一旦您要求提供详细信息,您会更改会话令牌吗?

以上是关于新的 Places API 会话令牌会持续多久?的主要内容,如果未能解决你的问题,请参考以下文章

Google Places AutoComplete 小部件正在为每个请求生成一个新的会话密钥

如何使用 CSRF 令牌发布到 Laravel API?

使用 Angular 和 JWT 令牌持续登录

获取向 Rails 服务器发出请求的 API

Google API 密钥的有效期是多久?

新的 Google API 密钥“Google Maps API v3”不适用于 Google Places API?