不支持驱动程序 [google]

Driver [google] is not supported

我已经安装了 composer require nao-pon/flysystem-google-drive:~1.1 在我项目的根上。我还在我的 filesystems.php

中添加了这个
'google' => [
        'driver' => 'google',
        'clientId' => env('GOOGLE_DRIVE_CLIENT_ID'),
        'clientSecret' => env('GOOGLE_DRIVE_CLIENT_SECRET'),
        'refreshToken' => env('GOOGLE_DRIVE_REFRESH_TOKEN'),
        'folderId' => env('GOOGLE_DRIVE_FOLDER_ID'),
    ]

此外,在我的.env

GOOGLE_DRIVE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=xxx
GOOGLE_DRIVE_REFRESH_TOKEN=xxx
GOOGLE_DRIVE_FOLDER_ID=null

最后,在我的 app.php

App\Providers\GoogleDriveServiceProvider::class,

虽然我已经全部设置好了,但当我尝试使用这条路线时它仍然给我这个错误

Route::get('/test1', function() {
Storage::disk('google')->put('test.txt', 'Hello World');
});

我收到错误消息“不支持驱动程序 [google]。”

已编辑:

我的 GoogleDriveServiceProvider 上有这个

class GoogleDriveServiceProvider extends ServiceProvider
{
/**
 * Register services.
 *
 * @return void
 */
public function register()
{
    //
}

/**
 * Bootstrap services.
 *
 * @return void
 */
public function boot()
{
    //
}
}

仅为 Google 驱动器添加 Flysystem 驱动程序并不能使其可用于 Laravel 的存储 API。您需要为它找到一个现有的包装器或自己扩展它。

作为参考,这是他们在与 Dropbox 集成的文档中提供的示例(复制到此处而不是 linked 以防止 link rot):

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Storage;
use Illuminate\Support\ServiceProvider;
use League\Flysystem\Filesystem;
use Spatie\Dropbox\Client as DropboxClient;
use Spatie\FlysystemDropbox\DropboxAdapter;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Storage::extend('dropbox', function ($app, $config) {
            $client = new DropboxClient(
                $config['authorization_token']
            );

            return new Filesystem(new DropboxAdapter($client));
        });
    }
}

您在 App\Providers\GoogleDriveServiceProvider 中的实现将需要以类似的方式调用 Storage::extend(),并且 return 包装 Google 驱动器的 Filesystem 实例Flysystem 适配器。