获取错误403:未配置访问权限。请使用Google Developers Console激活项目的API

问题描述 投票:59回答:14

我正在尝试使用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
14个回答
52
投票

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

要执行此操作,请转到Google Developers Console并打开API和Auth / Credentials,然后单击“编辑允许的引用”以清空输入字段。


1
投票

您必须启用一些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

0
投票

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


0
投票

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

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

工作很好。


0
投票

我遇到了同样的问题,我的问题是因为我的项目和Google API中有不同的名称

这是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示例”

enter image description here

并且Google API中的名称是“应用示例”

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

        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();
        }

0
投票

好的,这已经过时了,但我认为这适用于我的情况,我认为这可能有助于其他人。我去了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"
    }
}

147
投票

您必须启用一些API(在新的谷歌控制台中)才能使事情按预期工作。

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

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

14
投票

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

1)我将引用字段留空(允许任何引用)。然而,仅此一点并不奏效。 2)我重新生成了浏览器密钥。这就是诀窍。

希望这可以帮助。


8
投票

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

对我有用的是推出这两个API:Google+ API Contacts API

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

我不想清空“允许的引用者字段”,因为我更喜欢控制人们可以登录我的应用程序。我没有必要更改我的API密钥。仅供记录,我使用的是Spring Social Google 1.1.0


4
投票

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


4
投票

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

  1. 确保在API控制台中启用了以下API: YouTube Data API v3 YouTube Analytics API 联系人API Google+ API
  2. 确保在您的应用程序中正确定义API所需的范围。对于Youtube,使用访问API调用所需的范围yuo
  3. 确保API控制台中Google Project的CLIENT_ID和CLIENT_SECRET是客户端应用程序中定义的正确的CLIENT_ID和CLIENT_SECRET。

3
投票

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


2
投票

https://console.developers.google.com的api和auth凭证中只留下服务器应用程序的密钥编辑允许的ips为空这将是有效的


2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.