【问题标题】:Google API Key Http referrers issue using curl PHP使用 curl PHP 的 Google API Key Http 引用问题
【发布时间】:2018-07-03 04:28:16
【问题描述】:

我正在使用 PHP cURL 来使用我的 Google API 密钥检索 Google 地点信息,但每当我放置任何 http 引荐来源网址时都会出错。请问有什么办法吗?

{
   "error_message" : "API keys with referer restrictions cannot be used with this API.",
   "html_attributions" : [],
   "status" : "REQUEST_DENIED"
}

我的 HTTP 引荐来源网址

*mywebsite.local:8080*
*.mywebsite.local:8080* 
*www.mywebsite.local:8080*  
mywebsite.local:8080*  
www.mywebsite.local:8080*  
http://www.mywebsite.local:8080* 
http://mywebsite.local:8080*

我的代码

$url = 'https://maps.googleapis.com/maps/api/place/details/json?placeid=" . $place_id . "&key=SECRET_KEY;
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$json = curl_exec($ch); 
curl_close($ch);

关于信息我不能使用服务器引用,因为我的网站使用动态 ip。

对我有什么建议吗?

【问题讨论】:

    标签: php curl google-api


    【解决方案1】:

    看起来您在服务器端进行 API 调用。因为您已经对您的 API 密钥设置了引用者限制,所以它将被限制为在具有 Web 服务 API 的浏览器上执行。

    您可以在此页面上找到其他 Web 服务 API:https://developers.google.com/maps/web-services/

    如果您使用任何具有引用限制的 API 密钥的 Web 服务 API,您的请求将失败并显示错误消息:“API 密钥在与此 API 一起使用时不能具有引用限制。”您应该切换到使用服务器限制。

    您需要创建一个单独的密钥以在服务器端使用。您可以通过使用 IP 地址而不是浏览器引用来限制访问,将您的限制从 浏览器限制 更改为 服务器限制

    查看此 API 常见问题解答,了解将密钥类型切换为服务器受限密钥:https://developers.google.com/maps/faq#switch-key-type

    【讨论】:

    • 嗨 Dinesh,但我不能使用服务器限制,因为我的网站使用动态 IP。
    • “但我不能使用服务器限制,因为我的网站使用动态 ip” - 这将使它更像你自己的小游乐场,而不是真正的网站。针对公共最终用户的网站不使用“动态 IP”(至少不是您最可能的意思。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2013-08-06
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多