使用 Gmail API 创建过滤器
Posted
技术标签:
【中文标题】使用 Gmail API 创建过滤器【英文标题】:Create a filter using Gmail API 【发布时间】:2016-12-22 00:12:29 【问题描述】:Google 最近发布了其 Gmail API 的新版本,现在可以使用create filters。
但是文档非常有限,我在使其正常工作时遇到了问题。我正在使用他们php client 的最新版本。任何帮助将不胜感激构建请求正文。
public $gmail;
public function createFilter($userId)
try
$filter = new Google_Service_Gmail_Resource_UsersSettingsFilters();
// Here, we should create the request body...
// https://developers.google.com/gmail/api/v1/reference/users/settings/filters#resource
// $filter->setCriteria() ??
$this->gmail->users_settings_filters->create($userId, $filter);
catch (Exception $e)
// Logging errors...
更新(工作方式)
public $gmail;
public function createFilter($userId)
try
$filter = new Google_Service_Gmail_Filter([
'criteria' => [
'from' => 'example@gmail.com'
],
'action' => [
'addLabelIds' => ['STARRED']
]
]);
$this->gmail->users_settings_filters->create($userId, $filter);
catch (Exception $e)
// Logging errors...
【问题讨论】:
【参考方案1】:请参阅https://github.com/google/google-api-php-client#making-requests 以获取有关构造请求对象的指南。您应该能够使用原生 PHP 数组或自动生成的对象来填充过滤器属性。示例:
$filter = new Google_Service_Gmail_Resource_UsersSettingsFilters([
'criteria' => [
'from' => 'somebody@example.com'
],
'action' => [
'addLabelIds' => ['STARRED']
]
]);
【讨论】:
非常感谢@Brandon。我用一个可行的解决方案更新了我的问题。 如果我需要指定多个电子邮件怎么办?以上是关于使用 Gmail API 创建过滤器的主要内容,如果未能解决你的问题,请参考以下文章