fourlabs / gmail-doctrine-bundle
fourlabs/gmail-bundle 的 Doctrine 实现
0.1.0
2017-02-23 15:37 UTC
Requires
- php: >=7.0
- doctrine/orm: ~2.5
- fourlabs/gmail-bundle: *.*@dev
- html2text/html2text: ^4.0.1
- symfony/config: ~2.8|~3.0|~3.1
- symfony/console: ~2.8|~3.0|~3.1
- symfony/dependency-injection: ~2.8|~3.0|~3.1
- symfony/doctrine-bridge: ~2.8|~3.0|~3.1
- symfony/form: ~2.8|~3.0|~3.1
- symfony/http-foundation: ~2.8|~3.0|~3.1
- symfony/http-kernel: ~2.8|~3.0|~3.1
- symfony/options-resolver: ~2.8|~3.0|~3.1
- symfony/routing: ~2.8|~3.0|~3.1
- symfony/validator: ~2.8|~3.0|~3.1
This package is auto-updated.
Last update: 2024-09-22 07:18:28 UTC
README
GmailDoctrineBundle 为您提供了 GmailBundle 的 Doctrine 实现。
安装
$ composer require fourlabs/gmail-doctrine-bundle
配置
// app/config/config.yml
fl_gmail_doctrine:
sync_setting_class: TriprHqBundle\Entity\GmailSyncSetting
设置
- 在您的实体文件夹中创建 doctrine 实体,例如
AppBundle\Entity
。 - 这些实体必须扩展此捆绑包
Entity
文件夹中的所有 MappedSuperClasses。 - 请确保您使用提供的存储库(来自实体文件夹)。或者扩展存储库。
<?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use FL\GmailDoctrineBundle\Entity\SyncSetting; /** * @ORM\Entity(repositoryClass="FL\GmailDoctrineBundle\Entity\SyncSettingRepository") */ class GmailSyncSetting extends SyncSetting { }
为什么选择 GmailDoctrineBundle?
- 一个同步命令,让您同步 gmailIds、gmailMessages 或两者。即有两个选项
- 示例
php bin/console fl:gmail_doctrine:sync --mode=both --limit_messages_per_user=100
。 - 必选选项
mode
:可以是gmail_ids
、gmail_messages
或both
。 - 选项
limit_messages_per_user
:对于mode=gmail_ids
或mode=both
是必需的。必须是一个正整数。 - 建议:在同步之间留出足够的空间,以免重复同步相同的消息。消息不会被保存到数据库中两次,但您可能会遇到限制。
- 注意:每次请求的消息是分批的,每次45条。每个批次请求大约需要2秒。
- 建议:将每个用户的消息限制设置为315条。
7 批次 * 每批次的2秒 = 14秒
。这意味着您必须在请求之间至少留下14 * 用户数量
秒。 - 注意:在运行
both
的同步之前,请确保至少运行一次gmail_ids
的同步。
- 示例
- 事件监听器,将我们从 Google 获取的内容保存到数据库中。请参阅
EventListener
文件夹中的更多内容。 FL\GmailDoctrineBundle\Entity\SyncSetting
实体- 允许您选择要同步哪些电子邮件收件箱以及发送电子邮件。
- 请参阅相应的表单,
FL\GmailDoctrineBundle\Form\Type\SyncSettingType
。
FL\GmailDoctrineBundle\Model\OutgoingEmail
模型类- 表示一个发件电子邮件。
- 请参阅相应的表单,
FL\GmailDoctrineBundle\Form\Type\OutgoingEmailType
。 - 发件人字段,根据您通过
FL\GmailDoctrineBundle\Entity\SyncSetting
启用的内容。
FL\GmailDoctrineBundle\Services\GoogleClientStatusWrapper
是FL\GmailBundle\Services\GoogleClientStatus
的包装器。- 复制身份验证方法,
GoogleClientStatusWrapper::isAuthenticated
。 - 还有两个其他方法
GoogleClientStatusWrapper::isSetupForDomain(string $domain)
和GoogleClientStatusWrapper::isSetupForAtLeastOneDomain()
- 复制身份验证方法,
许可证
GmailDoctrineBundle 在 MIT 许可证下授权。