la-haute-societe / yii2-flysystem-google-drive

Flysystem Google Drive filesystem for Yii2
7 stars 4 forks source link
flysystem-adapter google-drive google-drive-filesystem yii

Yii2 Flysystem Google Drive

Flysystem Google Drive filesystem for Yii2

Installation

The preferred way to install this extension is through composer.

Either run

composer require --prefer-dist la-haute-societe/yii2-flysystem-google-drive "^1.0.0"

or add

"la-haute-societe/yii2-flysystem-google-drive": "^1.0.0"

to the require section of your composer.json file.

Usage

This extension is a Google Drive Filesystem for Yii2 Flysystem extension by @creocoder.

It uses the Flysystem Adapter for Google Drive by @nao-pon

For usage instructions, see Yii2 Flysystem documentation

You can get help on how to get clientID, clientSecret and refreshToken here (Thx @ivanvermeyen)

Configuration

Local filesystem

Configure application components as follows

return [
    //...
    'components' => [
        //...
        'googleDrive' => [
            'class' =>  lhs\Yii2FlysystemGoogleDrive\GoogleDriveFilesystem::class,
            'clientId'     => 'xxx YOUR CLIENT ID xxx',
            'clientSecret' => 'xxx YOUR CLIENT SECRET xxx',
            'refreshToken' => 'xxx YOUR REFRESH TOKEN xxx',
//             'driveId'     => 'xxx YOUR TEAM DRIVE ID xxx',
            // 'rootFolderId' => 'xxx ROOT FOLDER ID xxx'
        ],
    ],
];

You can then access the flysystem API like:

$contents = Yii::$app->googleDrive->listContents();
...