mhsaheb / google-calendar
Google日历API助手
1.0.7
2023-11-07 09:53 UTC
Requires
- google/apiclient: ^2.15
README
此包为Laravel应用程序中与Google日历API交互提供了一种便捷方式。它允许您创建、更新、删除和检索Google日历中的事件。
安装
您可以通过运行以下命令通过Composer安装此包
composer require mhsaheb/google-calendar
配置
php artisan vendor:publish --tag=config
此命令将在您的配置目录中创建一个google-calendar.php文件。打开该文件并为您提供Google API凭证和其他所需信息。
使用
要使用此包,您需要创建GoogleEvent类的实例,该类扩展了GoogleCalendar类。以下是如何创建新事件的示例
use GoogleCalendar\GoogleEvent;
$event = new GoogleEvent();
// Set event details
$event->setName('My Event');
$event->setStartTime('2023-06-28T10:00:00');
$event->setEndTime('2023-06-28T12:00:00');
$event->setParams([
'description' => 'This is a sample event',
'location' => 'New York',
]);
// Add attendees
$event->setAttendees(['attendee1@example.com', 'attendee2@example.com']);
// Enable Google Meet for the event
$event->hasMeet();
// Create the event
$createdEvent = $event->createEvent();
您还可以使用以下方法检索事件列表或获取特定事件
// Get all events
$events = $event->getEvents();
// Get a specific event by ID
$eventId = 'your-event-id';
$event = $event->getEvent($eventId);
要更新或删除事件,您可以使用相应的方法
// Update an event
$eventId = 'your-event-id';
$updatedEvent = $event->updateEvent($eventId);
// Delete an event
$eventId = 'your-event-id';
$deletedEvent = $event->deleteEvent($eventId);
请注意,您需要正确设置配置文件中的Google日历API凭证,这些方法才能正常工作。
使用Google服务账户
如果您想使用Google服务账户与此包一起使用,您需要遵循以下额外步骤
-
确保您拥有Google Workspace(以前称为G Suite)账户并可以访问Google控制台。
-
为您的服务账户激活域-wide代理
- 转到Google云控制台。
- 选择您的项目并转到“IAM & Admin”->“服务账户”部分。
- 找到您的服务账户并单击“编辑”按钮。
- 启用“启用域-wide代理”选项。
- 保存更改。
-
从您的服务账户JSON密钥文件中获取client_email。
-
激活域-wide代理策略
- 转到您的Google Workspace管理员控制台。
- 转到“安全”->“API控制”->“域-wide代理”。
- 单击“添加新”并输入您的client_id。
- 指定您想授予访问权限的 scopes(例如,https://www.googleapis.com/auth/cloud-platform)。
- 保存更改。
-
在您的.env文件中,添加以下变量并使用client_email
GOOGLE_CALENDAR_IMPERSONATE=your-service-account-email@example.com
贡献
如果您遇到任何问题或对改进有建议,请随时在GitHub上打开问题或提交拉取请求。我们感谢您的贡献!
许可
此包是开源软件,根据MIT许可许可。