使用 Firebase 提供的 API 密钥无效
Posted
技术标签:
【中文标题】使用 Firebase 提供的 API 密钥无效【英文标题】:Invalid API Key supplied using Firebase 【发布时间】:2016-09-23 00:16:43 【问题描述】:我正在使用 Firebase 身份验证来允许用户使用 Facebook 进行注册。我已经从这里采取了所有步骤来实施注册,包括将 GoogleService-Info.plist 添加到我的项目中。
我得到 Facebook 许可屏幕一切正常,但当应用程序点击时
FIRAuth.auth()?.signInWithCredential(credential) (user, error) in
返回此错误:请求中提供了无效的 API 密钥。
谁能帮我解决这个问题?
谢谢
这是我使用 Facebook 登录的功能代码。
@IBAction func signUpWithFacebook()
let fbLogin = FBSDKLoginManager()
fbLogin.logInWithReadPermissions(["email"], fromViewController:self, handler:
(result, error) -> Void in
if ((error) != nil)
print("Process error")
else if (result.isCancelled)
print("Cancelled");
else
print("Logged in");
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
let credential = FIRFacebookAuthProvider.credentialWithAccessToken(accessToken)
print(FBSDKAccessToken.currentAccessToken().tokenString)
FIRAuth.auth()?.signInWithCredential(credential) (user, error) in
// ...
if let user = user
print(user.displayName)
else
if let error = error
print(error.localizedDescription)
)
【问题讨论】:
【参考方案1】:已解决,适用于未来需要该解决方案的任何人。
有时 GoogleService-Info.plist 中缺少 API_KEY,需要添加。
API Key 可以从 Google API Console https://console.developers.google.com/找到
【讨论】:
Hassan,很高兴您的问题得到解决,但我们想调查一下为什么 API 密钥不在您的 plist 中。您能否在我们的support channel 中给我们发一封电子邮件,提及这个 *** 问题、您的 plist 和您的项目 ID? 刚刚观察到配置文件丢失 API_KEY 的相同行为...感谢您找到解决此问题的方法! 我也遇到了这个问题 - 我只是确保一切都设置正确,然后再次生成 GoogleService-Info.plist。第二个是正确的。 Firebase 支持团队正在审核此内容【参考方案2】:您可以通过在 Firebase 控制台的项目设置部分下再次下载“GoogleService-Info.plist”文件来解决此问题。
确保在新的“GoogleService-Info.plist”上设置了 API_KEY。
【讨论】:
再次下载解决了我的问题...这很奇怪,因为我没有对我的项目进行任何更改。 是的,这也解决了我的问题。很惊讶这个问题还没有解决。无论如何感谢您的解决方案:-) 就像@MXV 所做的一样 :D :D 再次下载它解决了我的问题...这很奇怪,因为我没有对我的项目进行任何更改。以上是关于使用 Firebase 提供的 API 密钥无效的主要内容,如果未能解决你的问题,请参考以下文章
更改了 Firebase 项目,它给了我错误 [ API 密钥无效。请传递有效的 API 密钥。 ] 身份验证期间
通过 API 创建短链接并获取“API 密钥无效。请传递有效的 API 密钥”
Laravel 提供了无效的 MailChimp API 密钥
SendGrid API 密钥不起作用。 “提供的授权授权无效、过期或撤销”
Spatie/Newsletter:Laravel 5.6 中提供的 MailChimp 无效 MailChimp API 密钥