通过 API 创建短链接并获取“API 密钥无效。请传递有效的 API 密钥”
Posted
技术标签:
【中文标题】通过 API 创建短链接并获取“API 密钥无效。请传递有效的 API 密钥”【英文标题】:Creating short link through API and getting "API key not valid. Please pass a valid API key" 【发布时间】:2021-09-03 10:30:39 【问题描述】:我想通过 Firebase 创建一个短链接。我正在传递一个用于通知的有效 API 密钥。但我收到一个错误:API 密钥无效
回复是:
"success": true,
"message": "Link is genereated successfully",
"data":
"error":
"code": 400,
"message": "API key not valid. Please pass a valid API key.",
"status": "INVALID_ARGUMENT",
"details": [
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "API_KEY_INVALID",
"domain": "googleapis.com",
"metadata":
"service": "firebasedynamiclinks.googleapis.com"
]
我的控制器是
class ShortLinkController < ApplicationController
def create
response = nil
firebase_server_api_key = Rails.application.secrets.firebase_server_api_key
response = HTTParty.post("https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=#firebase_server_api_key",
:body => JSON.generate(
dynamicLinkInfo:
domainUriPrefix: 'https://example.page.link',
link: 'https://example.page.link/?username=\(/user?.username)&user_id=\(/user?.id',
androidInfo:
androidPackageName: 'com.abc.example'
,
iosInfo:
iosBundleId: 'com.example.abc',
iosFallbackLink: 'https://apps.apple.com/in/app/example/id1528494636',
iosAppStoreId: '1528494636'
),
:headers => "Content-Type" => "application/json"
)
render_success message: "Link is generated successfully", data: response
end
end
创建 URL 时 你能帮我弄清楚我错过了什么/做错了吗
【问题讨论】:
您在错误响应中说明了原因 - API 密钥无效。你真的发送了正确的 API 密钥吗?和在 Firebase 注册的一样吗? 我使用的 API 密钥与在 Firebase 中用于通知的 API 密钥相同 我也会这么说,你能仔细检查一下 API 密钥是否仍然有效吗?也许到达另一个端点...... 【参考方案1】:我不确定您使用的是哪个 API 密钥,但 Firebase 配置有许多在客户端应用程序中使用的密钥。例如,这些键允许您使用动态链接,但它们不一定允许您使用它们创建新的动态链接。
找到 REST API 密钥的正确位置在 creating links with the REST API 上的 Firebase 文档中描述为:
获取您的 API 密钥。您将需要一个 API 密钥来验证您对 API 的请求。要查找您的 API 密钥:
打开 Firebase 控制台的设置页面。如果系统提示您选择项目,请从菜单中选择您的 Firebase 项目。
记下 Web API Key 字段的值。
【讨论】:
以上是关于通过 API 创建短链接并获取“API 密钥无效。请传递有效的 API 密钥”的主要内容,如果未能解决你的问题,请参考以下文章
MailChimp 错误状态:401 标题:“API 密钥无效”