Google Sheet 与 Laravel 8 集成

vig*_*ash 6 google-sheets laravel laravel-8

我想将google Sheet 与 Laravel 8集成,无需任何第三方工具或连接器。我知道这对很多人来说很简单,但我无法理解。非常感谢您的努力和回答!

fer*_*som 15

要求:

  • 谷歌 OAuth 密钥。
  • 谷歌服务帐户。
  • 启用 Google Drive API 和 Google Sheets API。
  • revolution/laravel-google-sheets拉拉维尔包。
脚步:
步骤1:安装revolution/laravel-google-sheets包
composer require revolution/laravel-google-sheets

# publish package files
php artisan vendor:publish --provider="PulkitJalan\Google\GoogleServiceProvider" --tag="config"
Run Code Online (Sandbox Code Playgroud)
第 2 步:设置 Google API OAuth 密钥
  • 导航至Google 开发者控制台
  • 创建一个 Google 项目或选择已经存在的项目。
  • 单击“创建凭据”,然后单击“OAuth 客户端 ID”
  • 如有必要,请配置同意屏幕
  • 将类型设置为Web 应用程序
  • 复制 client_id 和 client_secret 并在 .env 中设置:
GOOGLE_CLIENT_ID=XXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=XXXXXX-XXXXXXXXXXX-XXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
第 3 步:设置 Google 服务帐户
  • 导航至Google 开发者控制台

  • 从凭据创建新的服务帐户密钥。

  • 为您的服务帐户命名。

  • 在步骤下,Grant this service account access to project单击“选择角色”下拉列表,然后从左侧选择“项目” ,从右侧选择“编辑器”,如此图所示

  • 单击“继续”,然后单击“完成”

  • 编辑服务帐户并转到“密钥”选项卡。

  • 创建一个类型为JSON的新 Key ,并将 json 文件复制到您的项目存储目录并将其重命名为credentials.json- 或您喜欢的任何其他名称。

  • 将credentials.json文件路径添加到.env,如下所示

GOOGLE_SERVICE_ENABLED=true
GOOGLE_SERVICE_ACCOUNT_JSON_LOCATION=/home/user/code/project/storage/credentials.json
Run Code Online (Sandbox Code Playgroud)
第 4 步:设置要集成的 Google 电子表格
SPREADSHEET_ID=1kjtQBxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
  • 复制最近创建的服务帐户的电子邮件,请参阅此图片

  • 使用服务帐户电子邮件作为编辑者共享工作表,请参阅此图片

第 5 步:启用所需的 Google API
第 6 步:测试
use Revolution\Google\Sheets\Facades\Sheets;

// Add new sheet to the configured google spreadsheet
Sheets::spreadsheet(config('sheets.spreadsheet_id'))->addSheet('sheetTitle');

$rows = [
    ['1', '2', '3'],
    ['4', '5', '6'],
    ['7', '8', '9'],
];

// Append multiple rows at once
Sheets::sheet('sheetTitle')->append($rows);

Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅包文档。


Har*_*osh 7

{ "error": { "code": 403, "message": "The request is missing a valid API key.", "errors": [ { "message": "The request is missing a valid API key.", "domain": "global", "reason": "forbidden" } ], "status": "PERMISSION_DENIED" } }
Run Code Online (Sandbox Code Playgroud)

不要忘记添加范围!

[\Google\Service\Sheets::DRIVE, \Google\Service\Sheets::SPREADSHEETS]

到 google.php 配置文件