当我将链接复制到chrome时,我从python中的GoogleMapsAPI得到了无效的请求响应,它工作正常

当我将链接复制到chrome时,我从python中的GoogleMapsAPI得到了无效的请求响应,它工作正常,python,google-maps-api-3,Python,Google Maps Api 3,原因是什么 { "html_attributions" : [], "results" : [], "status" : "INVALID_REQUEST" } 在铬精中: { "html_attributions": [], "next_page_token": "CqQDkgEAAFOOGlx1ov_HPteOZTqmNHkYFmUDfDDmlQn0XpcBzeYWgCNmexMAOS1KRvaStWwFRvLDDKEUsGyFwguXrBHTuvdfmu4REV4VPH

原因是什么

{
   "html_attributions" : [],
   "results" : [],
   "status" : "INVALID_REQUEST"
}
在铬精中:

{
"html_attributions": [],
"next_page_token": "CqQDkgEAAFOOGlx1ov_HPteOZTqmNHkYFmUDfDDmlQn0XpcBzeYWgCNmexMAOS1KRvaStWwFRvLDDKEUsGyFwguXrBHTuvdfmu4REV4VPH-ALqsxb7cl9wrRLhUQTyjnMilf68qgafL2Eb7GZ3OXH2s4vpsC2HRaclVPbp53kz1NZY7NeKDNPzUOW-tIHpw_X3U_2NhfUbDu-1gMFOOaMCOoaQt7FHW51ktIm4UFrn6OfytS_VdIp7RgOMp1HISIbx8GW2l1MKnUZaPEztlwJi3OvK9n4waWOvS7uUd_PPy1xPYJWv-yKtG3Ehok-LOjCv-jkB_Ki4uqjWCGW4kD5L_aKp2gjECT-ny-1aTpjtJc8a9p1Fhx_Wdbf2vee5hCZfbaSxseRgsHd0POFPaIFwIZYg6GJHHkbjW6gfbnI67oI9nC3dTH86gWzyFCsG_n0hyhCg-oHzO3mxlaDDxCM6xv1Nbp5AY4u03NGIpzTNoRekJ-EtA1d7cYu-yZ2XFzHXJGkxyWHobe_UdwLa6b4ZUQD8qCoKGQ429MxeY6x5R05AYg4Q1BEhA7UkpwystS_CoYKCCJXeoZGhRToQEqwA-RwiEMbAqwfN3n89aVZg",
"results": [...],
"status": "OK"
}
守则:

# -*- coding: utf-8 -*-
import urllib
import json
import csv
import hashlib
import time


YOUR_API_KEY = "SECRET"


def geocode(addr):
    url = ("http://maps.googleapis.com/maps/api/"
           "geocode/json?address=%s&sensor=false") % (urllib.quote(addr))
    data = urllib.urlopen(url).read()
    info = json.loads(data).get("results")[0].get("geometry").get("location")
    return info


def geocode2(r):
    info = []

    url_base = ("https://maps.googleapis.com/maps/api/place/search/json?"
                "location=%s,%s&radius=500&types=food&sensor=false&"
                "key=%s&pagetoken=%s") % (
                r['lat'],
                r['lng'],
                YOUR_API_KEY,
                ''
                )

    data = urllib.urlopen(url_base).read()
    info.extend(json.loads(data).get("results"))
    token = json.loads(data).get("next_page_token")

    while token:
        time.sleep(5)
        new_url = url_base + token
        data = urllib.urlopen(new_url).read()
        token = json.loads(data).get("next_page_token")
        info.extend(json.loads(data).get("results"))

    print len(info)

    l = []
    for i in info:
        t = (i["name"],
            i["vicinity"],
            i["geometry"]["location"]["lat"],
            i["geometry"]["location"]["lng"]
            )

        l.append(t)
    return l


for place in geocode2(geocode('Polska, Warszawa, Pl. Zawiszy 1')):
    print place
输出:
我想这与时间有关。我在while循环中添加了time.sleep(5),在这里我尝试使用next_page_token()获取新的google places,效果很好

文档中的配额证实了我的猜测

可以返回的最大结果数为60有一个 在发出下一个\u页面\u令牌和将发出令牌之间的短延迟 生效。

发件人:


值得一提的是,无论如何,返回的最大名额将为60个

你应该显示你的请求代码,我想这与时间有关。我在while循环中添加了
time.sleep(5)
,我尝试用next\u page\u token()获取新的google places,结果成功了。