pkboom/google-sheets

dev-master 2020-08-21 20:12 UTC

This package is auto-updated.

Last update: 2024-09-22 04:52:33 UTC


README

Latest Stable Version Total Downloads

此包使处理Google Sheets变得轻松。设置完成后,您可以执行以下操作:

namespace Pkboom\GoogleSheets\GoogleSheetsFactory;

$sheets = GoogleSheetsFactory::create();

$response = $sheets->spreadsheetId('spreadsheet id')
    ->range('sheet-name!A2:E4')
    ->get();

安装

您可以通过composer安装此包

composer require pkboom/google-sheets

您必须使用以下命令发布配置

php artisan vendor:publish --provider="Pkboom\GoogleStorage\GoogleSheetsServiceProvider"

这将发布一个名为google-storage.php的文件到您的配置目录,内容如下:

return [
    /*
     * Set access type, default: online
     */
    'access_type' => 'online',
    /*
     * Set cache key. When GOOGLE_CLIENT is created, it will retrieve the token from cache using this key.
     */
    'access_token_key' => 'google_sheet_token',
];

如何使用Socialite获取令牌

use Google_Service_Sheets;

class GoogleLoginController extends Controller
{
    public function login()
    {
        return Socialite::driver('google')
            ->scopes(Google_Service_Sheets::SPREADSHEETS)
            ->redirect();
    }

    public function handleProviderCallback()
    {
        Cache::put('google_sheet_token', Socialite::driver('google')->user()->token, 3600);

        return Redirect::to('/');
    }
}

使用方法

从工作表中获取数据

$response = $sheets->spreadsheetId(Request::input('spreadsheet'))
    ->range('legislators-current!A2:E4')
    ->get();

if (empty($response)) {
    ...
} else {
    ...
}

创建工作表

$sheets = GoogleSheetsFactory::create();

$spreadsheet = $sheets->create('title');

return $spreadsheet->spreadsheetId;

从Google Sheets获取客户端

您可以为客户端设置新的令牌键

$sheets = GoogleSheetsFactory::create();

$sheets->getClient()->setAccessToken('new key');