如何使用 PHP 客户端库在 gmail 中创建回复草稿? [关闭]

问题描述 投票:0回答:0

这是认证部分

$client = new Google_Client();
    $client->setClientId(config('gmail.client_id'));
    $client->setClientSecret(config('gmail.client_secret'));
    $client->setRedirectUri(config('gmail.redirect_url'));

    $accessToken = json_decode(file_get_contents(storage_path("app/gmail/tokens/gmail-json-$userId.json")), true);
    $client->setAccessToken($accessToken);
    $gmailService = new Google_Service_Gmail($client);

发送草稿回复后,在使用 PHP 客户端库时显示为单独的消息给收件人․发送草稿回复后,在使用 PHP 客户端库时显示为单独的消息给收件人․

    $message = $gmailService->users_messages->get('me', $messageId);
    $headers = $message->getPayload()->getHeaders();

    $subject = '';
    $messageID = '';
    foreach ($headers as $header) {
        if ($header->name === 'Subject') {
            $subject = $header->value;
        }

        if ($header->name === 'Message-ID') {
            $messageID = $header->value;
        }
    }

    $headers = [];

    $header1 = new Google_Service_Gmail_MessagePartHeader();
    $header1->setName('Subject');
    $header1->setValue('Re: ' . $subject);
    $headers[] = $header1;

    $header2 = new Google_Service_Gmail_MessagePartHeader();
    $header2->setName('In-Reply-To');
    $header2->setValue($messageID);
    $headers[] = $header2;

    $header3 = new Google_Service_Gmail_MessagePartHeader();
    $header3->setName('References');
    $header3->setValue($messageID);
    $headers[] = $header3;

    $header4 = new Google_Service_Gmail_MessagePartHeader();
    $header4->setName('To');
    $header4->setValue('[email protected]');
    $headers[] = $header4;

    $messagePart = new Google_Service_Gmail_MessagePart();
    $messagePart->setHeaders($headers);

    $message2 = new Google_Service_Gmail_Message();
    $message2->setThreadId($message->getThreadId());

    $message2->setPayload($messagePart);

    $message2->setRaw(rtrim(strtr(base64_encode(' '), '+/', '-_'), '='));

    $draft = new Google_Service_Gmail_Draft();
    $draft->setMessage($message2);

    $createdDraft = $gmailService->users_drafts->create('me', $draft);
php laravel gmail gmail-api google-api-php-client
© www.soinside.com 2019 - 2024. All rights reserved.