owenvoke / laravel-dashboard-google-fit-tile
一个用于显示 Google Fit 统计数据的 Laravel Dashboard 磁贴
Requires
- php: ^7.4
- ext-json: *
- google/apiclient: ^2.4
- spatie/laravel-dashboard: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-05 17:13:17 UTC
README
一个用于显示 Google Fit 统计数据的 Laravel Dashboard 磁贴
安装
通过 Composer
$ composer require owenvoke/laravel-dashboard-google-fit-tile
使用方法
在 dashboard
配置文件中,你必须在 tiles
键中添加此配置。
// in config/dashboard.php return [ // ... 'tiles' => [ 'google_fit' => [ 'id' => env('GOOGLE_FIT_ID'), 'secret' => env('GOOGLE_FIT_SECRET'), ], ], ];
在 app\Console\Kernel.php
中,你应该安排 OwenVoke\GoogleFitTile\Commands\RefreshGoogleFitTokenCommand
每 30
分钟运行一次。
如果你需要步数数据,将 OwenVoke\GoogleFitTile\Commands\FetchGoogleFitStepCountCommand
设置为每 x
分钟运行。
如果你需要睡眠数据,将 OwenVoke\GoogleFitTile\Commands\FetchGoogleFitSleepCommand
设置为每 x
分钟运行。
// in app/console/Kernel.php protected function schedule(Schedule $schedule) { $schedule->command(\OwenVoke\GoogleFitTile\Commands\RefreshGoogleFitTokenCommand::class)->everyThirtyMinutes(); // Data fetching commands $schedule->command(\OwenVoke\GoogleFitTile\Commands\FetchGoogleFitStepCountCommand::class)->everyTenMinutes(); $schedule->command(\OwenVoke\GoogleFitTile\Commands\FetchGoogleFitSleepCommand::class)->everyTenMinutes(); }
在你的仪表板视图中,你使用 livewire:google-fit-tile
组件。
<x-dashboard> <livewire:google-fit-tile position="a1" /> </x-dashboard>
生成 Google Fit 凭据
- 创建一个 Google 项目并生成 API 凭据
- 点击 Google 的 OAuth Playground 上的 "授权 API" 按钮
- 点击 "使用授权代码交换令牌" 按钮
- 从右下角的面板复制 JSON(包含
access_token
/refresh_token
) - 将其添加到
storage/app/google/fit-credentials.json
中的 JSON 文件 - 手动运行
artisan dashboard:refresh-google-fit-token
命令以验证配置
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
测试
$ composer test
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果你发现任何安全相关的问题,请通过电子邮件 security@voke.dev 而不是使用问题跟踪器。
鸣谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件
实物奖励
你可以免费使用此包,但如果它进入你的生产环境,你必须为世界买一棵树。
众所周知,应对气候危机并保持气温不上升超过 1.5C 的最佳工具之一是种树。如果你支持此包并向实物奖励森林做出贡献,你将为当地家庭创造就业机会并恢复野生动物栖息地。
你可以在这里购买树木 here。
有关实物奖励的更多信息,请参阅 treeware.earth。