【问题标题】:Getting Error 403: Access Not Configured. Please use Google Developers Console to activate the API for your project出现错误 403:未配置访问。请使用 Google Developers Console 为您的项目激活 API
【发布时间】:2014-05-17 04:43:46
【问题描述】:

我正在尝试使用 Youtube API 从特定频道中提取所有视频。我在 Google Developers Console 中设置了项目并获得了 API 浏览器密钥。我启用了 YouTube Data API v3,为了安全起见,我启用了 YouTube Analytics API。

我不知道我收到了这个错误。谁能帮帮我。

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
   }
  ],
  "code": 403,
  "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
 }
}

我正在使用的代码。它还没有做任何事情,只是尝试获取数据。

jQuery.getJSON('https://www.googleapis.com/youtube/v3/channels?part=UncleBens&id=UncleBens&key=AIzaSyDXD80S1mFHH2HSZFxLemkae-_Cl_nY5Xk', function(data){
    console.log(data);
    for(var i=0; i<data.data.items.length; i++) {
       console.log(data.data.items[i].title); // title
       console.log(data.data.items[i].description); // description
    }
});

【问题讨论】:

标签: javascript youtube-api youtube-javascript-api


【解决方案1】:

尝试在Google Developers Console 中为您的项目将“引用者”设置为“允许的任何引用者”(只需将该字段留空),如果它还不是这样的话。

为此,请转到您的 Google Developers Console 并打开 API & Auth / Credentials 并点击“编辑允许的引用者”清空输入字段。

【讨论】:

  • 这行得通,但我不明白为什么。你能解释一下为什么会这样吗?是不是因为呼叫来自用户,而不是拥有域名的服务器?
  • 我认为它可以作为一个白名单,任何不在它上面的东西都会被屏蔽。另外我会创建一个新密钥并删除这个密钥,因为其他人可能会用完你的配额。
  • 它对我有用。但我们必须记住将我们的 API 密钥保密。
  • 我找不到“编辑允许的推荐人”这个选项。尝试找到此链接大约需要一个小时,或者任何可能相关的东西,但都是徒劳的。
  • 这个不是正确答案。问题是控制台中没有启用 API。 Omer Aslam 的答案是正确的。
【解决方案2】:

您必须启用几个 API(在新的 google 控制台中)才能按预期工作。

转到https://console.developers.google.com 并确保在“API”下启用了以下 API:

  1. “联系人 API”
  2. “Google+ API”

【讨论】:

  • 我在使用 Google Play 服务来实现 Web 平台的隐藏功能时遇到了麻烦。我一直收到这个 403 错误。启用这 2 个 API 并启用“Google Play 游戏服务”和“Google Play 游戏管理”似乎解决了我的问题。
  • 这也适用于普通的 OAuth2 身份验证,即仅使用 Google 帐户登录,而不是访问任何其他服务。
  • 这对我有用,但没有任何意义,因为我试图从一个特殊的频道获取“视频上传”。
  • 如果您在 Web 而不是服务器应用程序类型中有错误,这是正确的答案。 @Gsx 的答案是针对服务器一
  • 哦,伙计,我花了 5 个小时试图解决这个问题。我什么都试过了。如果你在这里,我会给你买果汁。
【解决方案3】:

我遇到了同样的问题。虽然我不确定这背后的原因和逻辑,但以下步骤有效 -

1) 我将推荐人字段留空(允许任何推荐人)。但是,仅此一项是行不通的。 2)我重新生成了浏览器密钥。成功了。

希望这会有所帮助。

【讨论】:

    【解决方案4】:

    我遇到了同样的问题。我尝试清空推荐列表,但这并没有解决问题。然后我重新生成了密钥。新密钥给出了“过期密钥”错误。所以我恢复到过时的密钥,现在可以工作了。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题,对我有用的是使用“服务器密钥”而不是“浏览器密钥”。不知道为什么这很重要,因为我在这两种情况下都是从浏览器发出请求的,但它有效:)

      【讨论】:

        【解决方案6】:

        为您的项目将“推荐人”设置为“允许的任何推荐人”(只需将该字段留空)

        去你的控制台 (https://console.developers.google.com/project) 并打开 Api & auth >> Credentials 并单击“编辑允许的引用者”下清空输入字段。硬刷新查询

        工作正常。

        【讨论】:

          【解决方案7】:

          确保为您的项目启用了“Youtube Data API V3”。您可以在“APIs & Auth”->“APIs”下找到它。
          此外,在为您的项目启用 Youtube 数据 API 后,请等待一分钟,然后再使用 API 密钥触发请求。

          【讨论】:

            【解决方案8】:

            今天早上我也遇到了同样的问题,但我只是想用谷歌帐户登录。我收到了同样的信息。

            对我有用的是启用这两个 API: 谷歌+ API 联系人 API

            在您的控制台中: https://console.developers.google.com/project/your-project-id/apiui/api

            我不想清空“允许的推荐人字段”,因为我更喜欢控制人们可以从哪里登录到我的应用程序。我也不必更改我的 API 密钥。 仅作记录,我使用的是 Spring Social Google 1.1.0

            【讨论】:

            • 谢谢!这就是救了我的那个! :) 我正在使用适用于 Wordpress 的 Analytics Dashboard 插件,您建议的更改使插件正常工作:)
            【解决方案9】:

            https://console.developers.google.com 中的 api 和身份验证凭据中,只需将密钥留给服务器应用程序编辑允许的 ips 为空,这将起作用

            【讨论】:

              【解决方案10】:

              我在使用 Google Analytics 的 Management API 时遇到了同样的问题。这对我有用:

              1. 确保在您的 API 控制台中启用了以下 API:

                • YouTube 数据 API v3
                • YouTube 分析 API
                • 联系人 API
                • Google+ API
              2. 确保在您的应用程序中正确定义 API 所需的范围。对于 Youtube,使用访问 API 调用所需的范围 yuo

              3. 确保您的 API 控制台中 Google 项目的 CLIENT_ID 和 CLIENT_SECRET 是在您的客户端应用程序中定义的正确的。

              【讨论】:

                【解决方案11】:

                如果您使用Public API access 进行操作,则必须将您的服务器 ip 添加到允许的 IP 列表(选择项目 -> API 和身份验证 -> 凭据)。如果没有,您将收到如上的错误:“未配置访问。请使用 Google Developers Console 为您的项目激活 API。”

                请查看我的附件以查看更多

                【讨论】:

                  【解决方案12】:

                  我遇到了同样的问题,我的问题是因为我在 projectGoogle APIs

                  中有不同的名称

                  这是一个 Android 示例

                      public MakeRequestTask(GoogleAccountCredential credential) {
                              HttpTransport transport = AndroidHttp.newCompatibleTransport();
                              JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
                              mService = new com.google.api.services.calendar.Calendar.Builder(
                                      transport, jsonFactory, credential)
                                      .setApplicationName("Google Calendar API Example")
                                      .build();
                          }
                  

                  这里的名字是“Google Calendar API Example”

                  Google API 中的名称是“App Example”

                  为了解决问题,我将项目中的名称更改为

                          public MakeRequestTask(GoogleAccountCredential credential) {
                              HttpTransport transport = AndroidHttp.newCompatibleTransport();
                              JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
                              mService = new com.google.api.services.calendar.Calendar.Builder(
                                      transport, jsonFactory, credential)
                                      .setApplicationName("App Example")
                                      .build();
                          }
                  

                  【讨论】:

                    【解决方案13】:

                    您必须启用几个 API 才能按预期工作。

                    首先转到https://console.developers.google.com 并确保在“API”下您已启用 Contacts APIGoogle+ API

                    完成后,您将不会再看到该错误消息。

                    可以找到更多-

                    1. https://github.com/zquestz/omniauth-google-oauth2/issues/111
                    2. https://www.joomlapolis.com/forum/6-news-and-publicity/229505-configuring-cb-connect-7x#263260

                    【讨论】:

                      【解决方案14】:

                      好的,这已经很老了,但我为我的案例解决了这个问题,我认为这可能对其他人有所帮助。我去了oauth,它似​​乎解决了。

                      真正的问题是,如果您使用不受限制的密钥 [也许,取决于启用的 api] 是否关联了计费帐户; api应该可以工作。如果它不受限制地工作,那么您就在正确的轨道上。

                      一旦您将其限制为 android,它将再次使用该密钥失败,直到您签署您的应用程序。我发现最简单的方法是在 gradle 文件中为 android 下的变体使用签名配置。

                      signingConfigs {
                          debug {
                              storeFile file("/users/xxxxxxxxxx/Android/keystores/google_demos/debugandroid.jks")
                              storePassword "xxxxxxxxxx"
                              keyAlias "com.example.xxxxxxxxxx"
                              keyPassword "xxxxxxxx"
                          }
                      }
                      

                      【讨论】:

                        猜你喜欢
                        • 2014-01-28
                        • 2014-02-08
                        • 2014-01-27
                        • 2014-07-30
                        • 2014-03-19
                        • 2015-07-20
                        • 2016-05-05
                        • 2015-07-23
                        • 1970-01-01
                        相关资源
                        最近更新 更多