最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

谷歌放置api无效请求错误

IT培训 admin 2浏览 0评论

谷歌放置api无效请求错误

我试图使用node.js解析google place web api,以获取有关首尔咖啡馆的一些信息。它获得了前20家咖啡馆,但是当我尝试使用next_page_token获得下一个20时,它说这是一个无效的请求。我发现了一些堆栈溢出问题,说在0~2秒后尝试但是对我来说不起作用。 api_key没问题,因为我获得了前20名成功。

var search_keyword = "cafe+seoul";
const api_key = "";
var url = "=" + search_keyword + "&key=" + api_key;

https.get(url, function (res) {
    var body = '';

    res.on('data', function (chunk) {
        body += chunk;
    });

    res.on('end', function () {

        var response = JSON.parse(body);

        pool.getConnection(function (err, conn) {

            if (err) {
                if (conn) {
                    conn.release;
                }
            }
            //INSIDE DB
            // for (var i = 0; i < 20; i++) {
            //     var place_id = response.results[i].id;
            //     var data = {
            //         place_id: place_id
            //     };
            //     conn.query('INSERT INTO place_id SET ?', data);
            // }


            var next_page_token = response.next_page_token;
            console.log(next_page_token);
            var next_page_url = "=" + next_page_token + "&key=" + api_key;
            console.log(next_page_url);
            // if (response.next_page_token == null) {
            //     break;
            // }

        })
    });
});

看起来像这样。

 {
    "html_attributions" : [],
    "results" : [],
    "status" : "INVALID_REQUEST"
 }
回答如下:

因此,在这些情况下,首先测试Google Places Web Service API是一个好主意。通过这种方式,您可以隔离API是否可能发生某些事情,或者您是否错误地附加了params。

用你的search_keyword尝试你的第一个请求确实会导致前20个结果。以下样品申请。 (只需使用您自己的API密钥)https://maps.googleapis/maps/api/place/textsearch/json?query=cafe%20seoul&key=YOUR_API_KEY

事实上,你会从它的反应中使用next_page_token。但是你必须使用相同的端点。我可以看到你改变了你的/maps/api/place/nearbysearch/。它应该是这样的:https://maps.googleapis/maps/api/place/textsearch/json?key=YOUR_API_KEY&pagetoken=CoQC8wAAALQDKxtqy8CzlMQlksz3Id8hFE0zsxpMT-4TrNnb5wzppwlBoaKcF0YA9o22o2uZMjZe59IjBBcRi0yUP0lMzGH8CaQLV9pM6apOgvYAJUo8Xn7-a-kvvl5dD5Ju_CNS8NX0oPv9R4IQLQid5j2DA7THb3Mh_WpTVcrtK6eubHW4CDu0Byy69I7-33BSY5RXu94RZQE0n5jpuNIfpTvzpDdXW1vjHyPtBmhu8vEZP8BWy13ja6Wvv_aDne4cTtknq5TFrNpQsfXvVGQeiYA_J7gs7RP6bESpL7NILhghGyr2gIl9El-ziu66HrDq1klGurF4wY-GGNwl8QP1xpbFfL4SEAHx5Zp2ao8drcaQqGyVjMkaFLSChCwXhDXonok6GZvt34XWfA6g

让Web服务独立工作后,您可以检查是否正确附加了变量。

我希望这会有所帮助,并让你工作!

谷歌放置api无效请求错误

我试图使用node.js解析google place web api,以获取有关首尔咖啡馆的一些信息。它获得了前20家咖啡馆,但是当我尝试使用next_page_token获得下一个20时,它说这是一个无效的请求。我发现了一些堆栈溢出问题,说在0~2秒后尝试但是对我来说不起作用。 api_key没问题,因为我获得了前20名成功。

var search_keyword = "cafe+seoul";
const api_key = "";
var url = "=" + search_keyword + "&key=" + api_key;

https.get(url, function (res) {
    var body = '';

    res.on('data', function (chunk) {
        body += chunk;
    });

    res.on('end', function () {

        var response = JSON.parse(body);

        pool.getConnection(function (err, conn) {

            if (err) {
                if (conn) {
                    conn.release;
                }
            }
            //INSIDE DB
            // for (var i = 0; i < 20; i++) {
            //     var place_id = response.results[i].id;
            //     var data = {
            //         place_id: place_id
            //     };
            //     conn.query('INSERT INTO place_id SET ?', data);
            // }


            var next_page_token = response.next_page_token;
            console.log(next_page_token);
            var next_page_url = "=" + next_page_token + "&key=" + api_key;
            console.log(next_page_url);
            // if (response.next_page_token == null) {
            //     break;
            // }

        })
    });
});

看起来像这样。

 {
    "html_attributions" : [],
    "results" : [],
    "status" : "INVALID_REQUEST"
 }
回答如下:

因此,在这些情况下,首先测试Google Places Web Service API是一个好主意。通过这种方式,您可以隔离API是否可能发生某些事情,或者您是否错误地附加了params。

用你的search_keyword尝试你的第一个请求确实会导致前20个结果。以下样品申请。 (只需使用您自己的API密钥)https://maps.googleapis/maps/api/place/textsearch/json?query=cafe%20seoul&key=YOUR_API_KEY

事实上,你会从它的反应中使用next_page_token。但是你必须使用相同的端点。我可以看到你改变了你的/maps/api/place/nearbysearch/。它应该是这样的:https://maps.googleapis/maps/api/place/textsearch/json?key=YOUR_API_KEY&pagetoken=CoQC8wAAALQDKxtqy8CzlMQlksz3Id8hFE0zsxpMT-4TrNnb5wzppwlBoaKcF0YA9o22o2uZMjZe59IjBBcRi0yUP0lMzGH8CaQLV9pM6apOgvYAJUo8Xn7-a-kvvl5dD5Ju_CNS8NX0oPv9R4IQLQid5j2DA7THb3Mh_WpTVcrtK6eubHW4CDu0Byy69I7-33BSY5RXu94RZQE0n5jpuNIfpTvzpDdXW1vjHyPtBmhu8vEZP8BWy13ja6Wvv_aDne4cTtknq5TFrNpQsfXvVGQeiYA_J7gs7RP6bESpL7NILhghGyr2gIl9El-ziu66HrDq1klGurF4wY-GGNwl8QP1xpbFfL4SEAHx5Zp2ao8drcaQqGyVjMkaFLSChCwXhDXonok6GZvt34XWfA6g

让Web服务独立工作后,您可以检查是否正确附加了变量。

我希望这会有所帮助,并让你工作!

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论