【问题标题】:Google's Youtube Data API v3 - Why Is My IP Being Refused?Google 的 Youtube Data API v3 - 为什么我的 IP 被拒绝?
【发布时间】:2015-06-03 17:02:08
【问题描述】:

我正在使用 PHP/curl 请求播放列表搜索,并且一切都在我的本地计算机上运行。

现在我将项目移动到我的网络服务器上,我收到了一个错误:

在您的 API 密钥上配置了 per-IP 或 per-Referer 限制,并且请求与这些限制不匹配。如果应允许来自此 IP 或引用者的请求,请使用 Google Developers Console 更新您的 API 密钥配置。

我保证: a) 在 Google Developer Console 中启用了 Youtube 数据 API b)API 密钥正在工作(因为 curl 请求在我的本地机器上工作) c) 我已对我的域名进行了外部 IP 查找,并将 IP 输入到 Google Developer Console 中此 API 密钥的允许 IP 地址中。

那么,考虑到这些情况,为什么我仍然会被 Google 拒绝并显示该错误消息?

【问题讨论】:

  • 您的服务器的某些请求是否来自与您的公共域相同的 IP?他们通常不会。
  • var_dump($_SERVER['SERVER_ADDR'])检查。
  • @sjagr - 还有其他方法可以找到吗?我收到该建议未定义的索引错误。
  • var_dump(file_get_contents('https://shtuff.it/myip/short/')); 尝试连接到外部时,尝试获取您的实际服务器IP。如果这不起作用,ifconfig.co 应该起作用。记得从你的服务器访问它。
  • @h2ooooooo - 如果您将此评论添加为答案,我可以接受它作为正确的答案。这成功了,让我可以找到要添加到安全列表的 IP 地址。

标签: php youtube-api youtube-data-api


【解决方案1】:

当您在本地机器上进行测试时,您创建一个密钥作为“已安装的应用程序”,因为它在本地运行。

当您将其托管在网络服务器上时,您将创建一个密钥作为“网络应用程序”,并提供“授权来源”和“重定向 uri”。

【讨论】:

  • 嗨易卜拉欣,我不确定我是否理解。我没有使用 oAuth2 身份验证,我使用的是 API 密钥。我在 Google Developer Console 中没有看到创建 Web 应用程序密钥的选项 - 只有创建 OAuth 密钥或公共 API 密钥的选项,而且我正在使用公共 API。
【解决方案2】:

您必须获取服务器的 IP 地址(ssh 进入并使用ifconfig 命令,或登录到您的 cpanel 并从那里获取您的 IP 地址)。然后,您必须将此地址添加为您的 YouTube API 密钥的授权用户。您将在 Google Developer's Console 的凭据下的 API 管理器中进行设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-25
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多