one2tek / larasheets

Laravel Google Sheets

1.0.0 2020-12-17 19:50 UTC

This package is auto-updated.

Last update: 2024-09-17 14:12:54 UTC


README

简介

Larasheets 是一个通过API连接Laravel与Google Sheets的包。

安装

按照以下步骤安装此包。

Composer

composer require one2tek/larasheets

复制配置文件

运行 php artisan vendor:publish --provider="one2tek\larasheets\Providers\LaravelServiceProvider" 以发布 larasheets.php 配置文件。

获取API凭证

https://developers.google.com/console 获取API凭证,启用Google Sheets API和Google Drive API。

根据需要配置.env文件

GOOGLE_APPLICATION_NAME=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT=
GOOGLE_DEVELOPER_KEY=
GOOGLE_SERVICE_ACCOUNT_JSON_LOCATION=

缓存

Larasheets 还支持缓存系统,您只需在 config/larasheets.php 中进行配置。

laravel_cache' => [
    'enable' => true,
    'driver' => 'file',
    'remember_forever' => false,
    'remember_in_seconds' => 600 // 10 minutes
]

用法

按照以下步骤了解如何使用此包。

<?php

use one2tek\larasheets\Services\LarasheetsService;

class GoogleSheetService
{
    private $larasheetsService;

    public function __construct()
    {
        $spreadsheetId = 'spreadsheet-id-from-console';
        $sheetName = 'sheet-name-from-console';
        $headers = ['Column1', 'Column2', 'Column3'];

        $this->larasheetsService = new LarasheetsService($spreadsheetId, $sheetName, $headers);
    }

    public function getAll()
    {
        return $this->larasheetsService->getAll();
    }

    public function getByLine($line)
    {
        return $this->larasheetsService->getByLine($line);
    }

    public function update($line, $data)
    {
        $data = [$data['column1'], $data['column2'], $data['column3']];
        
        return $this->larasheetsService->updateByLine($line, $data);
    }

    public function create($data)
    {
        $data = [$data['column1'], $data['column2'], $data['column3']];
       
        return $this->larasheetsService->create($data);
    }
}