YouTube API:com.google.api.client.googleapis.json.GoogleJsonResponseException:403 禁止访问

YouTube API : com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden

我是 YouTube API 的新手。我已经在我的 eclipse 中从 github 下载并导入了 yt-direct-lite youtube android 项目。一切都很好。但是,当我 运行 项目时,它 toast/pops 出现错误消息:

[Error] Access not configured: The API (youTube Data API) is not enabled for your project. Please use google developer console to update your configuration.

不过,我已经开启了 Google+ API 以及 YouTube Data API v3.

另外,我生成了 API 密钥。一切都很好,但是当它去登录项目中的 Google/Gmail 帐户时。此外,在异常以下触发。

02-04 15:06:38.553: E/TetsProject(8413): Error
02-04 15:06:38.553: E/TetsProject(8413): com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
02-04 15:06:38.553: E/TetsProject(8413): {
02-04 15:06:38.553: E/TetsProject(8413):   "code": 403,
02-04 15:06:38.553: E/TetsProject(8413):   "errors": [
02-04 15:06:38.553: E/TetsProject(8413):     {
02-04 15:06:38.553: E/TetsProject(8413):       "domain": "usageLimits",
02-04 15:06:38.553: E/TetsProject(8413):       "message": "Access Not Configured. The API (YouTube Data API) is not enabled for your project. Please use the Google Developers Console to update your configuration.",
02-04 15:06:38.553: E/TetsProject(8413):       "reason": "accessNotConfigured",
02-04 15:06:38.553: E/TetsProject(8413):       "extendedHelp": "https://console.developers.google.com"
02-04 15:06:38.553: E/TetsProject(8413):     }
02-04 15:06:38.553: E/TetsProject(8413):   ],
02-04 15:06:38.553: E/TetsProject(8413):   "message": "Access Not Configured. The API (YouTube Data API) is not enabled for your project. Please use the Google Developers Console to update your configuration."
02-04 15:06:38.553: E/TetsProject(8413): }
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.interceptResponse(AbstractGoogleClientRequest.java:312)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1049)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.ytdl.MainActivity.doInBackground(MainActivity.java:417)
02-04 15:06:38.553: E/TetsProject(8413):    at com.google.ytdl.MainActivity.doInBackground(MainActivity.java:1)
02-04 15:06:38.553: E/TetsProject(8413):    at android.os.AsyncTask.call(AsyncTask.java:287)
02-04 15:06:38.553: E/TetsProject(8413):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-04 15:06:38.553: E/TetsProject(8413):    at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:230)
02-04 15:06:38.553: E/TetsProject(8413):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-04 15:06:38.553: E/TetsProject(8413):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-04 15:06:38.553: E/TetsProject(8413):    at java.lang.Thread.run(Thread.java:856)
02-04 15:06:38.633: I/brcm-gr(8413): [gralloc_lock]: new usage 0x933

不知道怎么回事?

我遇到了类似的问题。通过使用浏览器 api 键并在管理控制台中允许所有引荐来源解决了问题。

管理控制台 Api&Auth - 创建新的 api 密钥,就像为 android 创建密钥一样。但是选择浏览器密钥..按照步骤进行操作,当它要求引用者时,只需将其留空..这样您就允许所有引用者使用该密钥进行访问..我希望这会有所帮助:)

我用 Browser key 替换了 Android Key。它帮助了我并且现在可以工作了。

经过一些RnD,我已经解决了这个问题。事情是第一 启用 youtubeapi v3 和 google+ api 然后转到凭据并在生成 Android API 密钥之前。

首先点击"create new client id"生成客户ID 然后 select 安装的应用程序并选择 Android。下面你必须给出你应用程序的确切包名和 sha1 指纹,然后 select 深度链接,最后创建客户端 ID。

创建后,然后为播放器 YouTube 视频创建 android api 键。然后您的 api 密钥将起作用。记住填写你的包名,你的包名将与你在eclipe或studio中的应用程序相同。

如果在创建客户端 ID 后更改了程序包名称,那么您的密钥将不起作用。请记住 pckg 名称在这里受到限制,不必更改。