【问题标题】:Creating short link through API and getting "API key not valid. Please pass a valid API key"通过 API 创建短链接并获取“API 密钥无效。请传递有效的 API 密钥”
【发布时间】: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 密钥是否仍然有效吗?也许到达另一个端点......

标签: ruby-on-rails firebase-authentication firebase-dynamic-links


【解决方案1】:

我不确定您使用的是哪个 API 密钥,但 Firebase 配置有许多在客户端应用程序中使用的密钥。例如,这些键允许您使用动态链接,但它们不一定允许您使用它们创建新的动态链接。

找到 REST API 密钥的正确位置在 creating links with the REST API 上的 Firebase 文档中描述为:

  1. 获取您的 API 密钥。您将需要一个 API 密钥来验证您对 API 的请求。要查找您的 API 密钥:

    1. 打开 Firebase 控制台的设置页面。如果系统提示您选择项目,请从菜单中选择您的 Firebase 项目。

    2. 记下 Web API Key 字段的值。

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多