出现错误 403:未配置访问。请使用 Google Developers Console 为您的项目激活 API

Posted

技术标签:

【中文标题】出现错误 403:未配置访问。请使用 Google Developers Console 为您的项目激活 API【英文标题】:Getting Error 403: Access Not Configured. Please use Google Developers Console to activate the API for your project 【发布时间】: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
    
);

【问题讨论】:

你能贴一些代码吗? 必须启用 API。 console.developers.google.com/apis/api/customsearch/overview 会有一个“启用 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:

    “联系人 API” “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 时遇到了同样的问题。这对我有用:

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

    YouTube 数据 API v3 YouTube 分析 API 联系人 API Google+ API

    确保在您的应用程序中正确定义 API 所需的范围。对于 Youtube,使用访问 API 调用所需的范围 yuo

    确保您的 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

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

可以找到更多-

    https://github.com/zquestz/omniauth-google-oauth2/issues/111 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"
    

【讨论】:

以上是关于出现错误 403:未配置访问。请使用 Google Developers Console 为您的项目激活 API的主要内容,如果未能解决你的问题,请参考以下文章

Google Books API 403 访问未配置

即使似乎授予访问权限,Google Calendar API在OAuth期间也会出现403错误

PHP Curl出现403错误怎么办

Google Oauth 错误:403 access_denied 开发者未授予权限

服务器出现 HTTP 400404500502 错误原因及解决方法

未配置间歇性 403 访问