【问题标题】:Laravel kreait/laravel-firebase Invalid service account specificationLaravel kreait/laravel-firebase 无效的服务帐户规范
【发布时间】:2020-05-18 19:53:54
【问题描述】:

我是 laravel firebase 实时数据库的新手,我正在尝试连接到 firebase 数据库,但由于某种原因无法连接。我在 Firebase 控制台中有一个数据库,并且在我的 FirebaseController 中包含了一个 json 私钥。这是我得到的错误。

Kreait\Firebase\Exception\InvalidArgumentException

服务帐户规范无效

Firebase 控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;


class FirebaseController extends Controller
{
    public function index(){

     $database = app('firebase.database');
     $reference = $database->getReference('subjects');
     $value = $reference->getValue();

     return $value;

    }
}

Web.php 文件


<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('/firebase','FirebaseController@index');

``





【问题讨论】:

  • 您是否为FIREBASE_CREDENTIALS 设置了指向您的服务帐户的路径?如果是这样,它实际上是一个服务帐户 JSON 文件吗?它必须是服务帐户 JSON,而不是 Web 配置。 firebase.google.com/docs/admin/setup#initialize-sdk
  • 是的,我在服务帐户中生成了一个生成的私钥,这是一个 json 文件
  • 非常感谢伙计。我的 FIREBASE_CREDENTIALS 设置不正确。我通过设置我的服务帐户 json 文件的完整路径来解决这个问题。 FIREBASE_CREDENTIALS=App/Http/Controllers/FirebaseKey.json

标签: php laravel firebase firebase-admin


【解决方案1】:

我的问题是:我设置了 FIREBASE_DATABASE_URL 参数而不需要。

所以对于看到这个的其他人,如果你的路径是正确的,请检查你的 .env 上是否设置了这个参数,如果是,删除它并运行:php artisan config:cache 和 php artisan cache:clear。

【讨论】:

    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 2015-11-03
    • 2020-03-13
    • 2016-04-27
    • 2020-12-04
    • 1970-01-01
    • 2021-02-06
    • 2021-10-19
    相关资源
    最近更新 更多