【问题标题】:Adding events via places return 404 error:通过地点添加事件返回 404 错误:
【发布时间】:2012-10-03 12:13:21
【问题描述】:

如果我有任何错误,请原谅我的术语,我是 Google API 的新手

我正在尝试通过 Places API 为单个场地添加活动(列在酒吧类别下)。我已按照此处的说明进行操作:

https://developers.google.com/places/documentation/actions?utm_source=welovemapsdevelopers&utm_campaign=places-events-screencast#event_intro

这是我发布到的 URL(通过 PHP)

https://maps.googleapis.com/maps/api/place/event/add/format?sensor=false&key=AIzaSyAFd-ivmfNRDanJ40pWsgP1(密钥已更改)

返回 404 错误。如果我理解正确的话,我已经将传感器设置为 false,因为我不是移动设备,并在 Google apis 中创建了一个 API 密钥,并打开了 PLACES 服务。

我是否错过了这里的关键步骤,或者 POST 提交中的后续错误会导致 404 错误?我可以粘贴我的代码,但我想我会从基础开始。

非常感谢您的帮助、建议和时间。非常感谢。

我已将此行添加到我认为应该指定 POST 的 CurlCall 函数中,结果仍然相同。

curl_setopt($ch, CURLOPT_POST, 1);

所以整个函数读取

function CurlCall($url,$topost)
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HTTPHEADERS, array('Content-Type: application/json'));
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
            curl_setopt($ch, CURLOPT_VERBOSE, TRUE);


            curl_setopt($ch, CURLOPT_POSTFIELDS, $topost);
            $body = curl_exec($ch);
            curl_close($ch);
            echo $body;
            echo '<br>';
            echo 'URL ' . $url;
            echo '<br>';
            return $body;

        }

【问题讨论】:

    标签: php google-places-api


    【解决方案1】:

    您确定您使用的是 POST 方法而不是 GET 方法吗?

    【讨论】:

    • 我不确定,这是我正在使用的代码,我在我一直使用的帖子中找不到任何对 POST 或 GET 的引用,并且 php 文档不是那里也帮不了我太多>
    • 函数 CurlCall($url,$topost) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADERS, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_VERBOSE, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $topost); $body = curl_exec($ch); curl_close($ch);回声$体;回声“网址”。 $网址;返回 $ 身体; }
    • 谷歌搜索“curl POST”。你快到了!
    • 嗨,谢谢你的建议,我已经用这个 curl_setopt($ch, CURLOPT_POST, 1); 更新了我的函数(见主要问题);但它仍然不起作用。我还在做错什么吗?再次感谢
    • 我认为我的网址导致了错误。我没有将“格式”更改为“json”(或“xml”)。我现在遇到了一个新错误,但步骤很少等。再次感谢@dotancohen
    【解决方案2】:

    您需要在 URL 中指定请求的格式,方法是根据您的结构将单词格式更改为 jsonxml 以及 POST 您的请求。

    XML:

    https://maps.googleapis.com/maps/api/place/event/add/xml?sensor=false&key=your_api_key

    JSON:

    https://maps.googleapis.com/maps/api/place/event/add/json?sensor=false&key=your_api_key

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      相关资源
      最近更新 更多