我在开发者控制台中创建了一个Google应用程序,打开了“YouTube Data API v3”,生成了服务器API密钥,并授权我的家庭和工作IP。
我的网站使用V3 API列出了Youtube频道中的所有视频。它使用official PHP library,将其传递给服务器API密钥。
这一切在昨天从家里运行良好,今天早上下班。然后,它突然停止工作在上午11点(格林尼治标准时间+ 1),没有我的部分行动,这个错误:
[Google_Service_Exception]调用GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=xxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx时出错:(403)访问未配置。 API未针对您的项目启用,或者您的APIkey上配置了每IP或每个Referer限制,并且请求与这些限制不匹配。请使用Google Developers Console更新您的配置。
注意:我使用了少于10个请求,在白天允许的50万个请求中,我有一个静态的公共IP地址,这部分代码没有受到影响。
为了解决这个问题,我能找到什么呢?我真的不知道从哪里开始......谢谢。
Oooook ......
在生成任何密钥之前,您只需使用API激活即可!
取消激活或重新激活API(如“Youtube数据”)会默默地破坏您的密钥有效性。至少对于服务器一个。
所以解决方案是,当你得到与我相同的错误时:
这解决了我....我第一次跟着@Ninj回答......仍然没有变化。然后,在将我的域名网址添加到“允许的参考者”列表后,我再次单独重新生成密钥,然后就像一个魅力!
我猜谷歌解析允许来自密钥字符串本身的网址,而不是来自更新的设置
另外,当我在浏览器中打开请求的URL时,我发现API调用已返回
{“domain”:“usageLimits”}
我尝试了上述解决方案但没有成功。
从头开始创建一个新项目解决了这个问题
谢谢@Danra,你帮了忙,但我添加了这个答案,因为你的评论是默认隐藏的。