PHP Gmail API - 发送草稿

PHP Gmail API - Send draft

如何通过 [=]GMAIL APIOAuth2.0 发送草稿 PHP?

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()returns全草稿。但在那之后没有其他事情发生。

你能帮帮我吗?

您必须创建一个新的 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);
}