PHP Gmail API - 发送草稿

时间:2017-09-18 09:16:56

标签: php oauth-2.0 google-oauth gmail-api google-api-php-client

如何通过 PHP 发送包含 GMAIL API OAuth2.0 的草稿?

official docs中没有关于如何使用PHP实现此目的的参考。

基于Java示例,我尝试了:

$drafts = array();

try {
    $draftsResponse = $service->users_drafts->listUsersDrafts('me');
    if ($draftsResponse->getDrafts()) {
        $drafts = array_merge($drafts, $draftsResponse->getDrafts());
    }
} 

catch (Exception $e) {
    echo 'An error occurred: ' . $e->getMessage();
}

var_dump($drafts);

foreach ($drafts as $draft) {
    echo 'Draft with ID: ' . $draft->getId() . '<br/>';
    $abc = $service->users_drafts->send('me',$draft->getId());
    var_dump($abc);
}

但当然我做错了,因为它不起作用。第一个 var_dump()返回所有草稿。但那之后没有其他事情发生。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

您必须创建一个新的Google_Service_Gmail_Draft实例并使用它,而不仅仅是提供id:

foreach ($drafts as $draft) {
    $d = new Google_Service_Gmail_Draft();
    $d->setId($draft->getId());
    $service->users_drafts->send('me', $d);
}