为什么使用 next_page_token of google 放置 API 返回与第 1 页相同的结果?
Why using next_page_token of google places API returning same results as of 1st page?
我想要来自 google 个地点的地点信息,所以我使用了 "nearbysearch" API。
但它只返回第 20 位的信息。所以我使用 next_page_token 来获取第 2 页上的地点信息,但它仍然返回第 1 页上已经存在的地点信息。
response=HTTParty.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location="+params[:place][:latitude]+","+params[:place][:longitude]+"&radius="+params[:place][:radius]+"&types="+params[:place][:type]+"&key=AIzaSyAD6Vgkz7vo-nZLZp-xeNoPchOr7RepWEU")
receipt=JSON.parse(response.body)
@next_page_token=receipt['next_page_token']
response2=HTTParty.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location="+params[:place][:latitude]+","+params[:place][:longitude]+"&radius="+params[:place][:radius]+"&pagetoken=#{@next_page_token}&types="+params[:place][:type]+"&key=AIzaSyAD6Vgkz7vo-nZLZp-xeNoPchOr7RepWEU")
之所以发生这种情况,是因为这两个都是真的:
- 您请求的
&pagetoken=
参数不包含有效的页面标记(也许没有第二页结果,所以它只是一个空字符串? ).这是你的主要问题。另外,
- 您的第二个请求重复了所有参数,即使您不需要使用页面令牌也是如此。正如您所注意到的,原始请求 + 无效
pagetoken=
被视为原始请求:)
所以你应该:
- 手动验证
@next_page_token
是否符合您的预期并修复显示的内容。例如。至少你应该添加逻辑来处理响应没有 next_page_token
和 的情况
- 更改第二个请求以省略
key
和 pagetoken
以外的所有参数,这样不必要的参数就不会掩盖您的主要错误。
我想要来自 google 个地点的地点信息,所以我使用了 "nearbysearch" API。 但它只返回第 20 位的信息。所以我使用 next_page_token 来获取第 2 页上的地点信息,但它仍然返回第 1 页上已经存在的地点信息。
response=HTTParty.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location="+params[:place][:latitude]+","+params[:place][:longitude]+"&radius="+params[:place][:radius]+"&types="+params[:place][:type]+"&key=AIzaSyAD6Vgkz7vo-nZLZp-xeNoPchOr7RepWEU")
receipt=JSON.parse(response.body)
@next_page_token=receipt['next_page_token']
response2=HTTParty.get("https://maps.googleapis.com/maps/api/place/nearbysearch/json?location="+params[:place][:latitude]+","+params[:place][:longitude]+"&radius="+params[:place][:radius]+"&pagetoken=#{@next_page_token}&types="+params[:place][:type]+"&key=AIzaSyAD6Vgkz7vo-nZLZp-xeNoPchOr7RepWEU")
之所以发生这种情况,是因为这两个都是真的:
- 您请求的
&pagetoken=
参数不包含有效的页面标记(也许没有第二页结果,所以它只是一个空字符串? ).这是你的主要问题。另外, - 您的第二个请求重复了所有参数,即使您不需要使用页面令牌也是如此。正如您所注意到的,原始请求 + 无效
pagetoken=
被视为原始请求:)
所以你应该:
- 手动验证
@next_page_token
是否符合您的预期并修复显示的内容。例如。至少你应该添加逻辑来处理响应没有next_page_token
和 的情况
- 更改第二个请求以省略
key
和pagetoken
以外的所有参数,这样不必要的参数就不会掩盖您的主要错误。