0

Google Apps アカウントを使用してメール送信を自動化しようとしています

資格情報とアプリケーションの設定 (セキュリティ、スコープ) は問題ないようです (同じサービスと同じ資格情報を使用すれば、問題なく受信トレイ メッセージを取得できます)。

私のアプリは、適切な資格情報「a p12 key」とスコープ「https://mail.google.com/」を使用して、管理者の Google コンソールで承認されています。

私のphpコードは次のようになります

    $credentials = new \Google_Auth_AssertionCredentials(
        $serviceEmail,
        array('https://mail.google.com/'),
        file_get_contents($keyPath)
    );
    $client = new \Google_Client();

    $client->setAssertionCredentials($credentials);
    $gmailClient = new \Google_Service_Gmail($client);

    $mail = new \PHPMailer();
    $mail->CharSet = "UTF-8";
    $mail->Encoding = 'base64';
    $mail->AddAddress("my.mail@gmail.com");
    $mail->Subject = 'my subject';
    $mail->Body    = 'my body';
    $mail->preSend();
    $mime = $mail->getSentMIMEMessage();

    $m = new \Google_Service_Gmail_Message();
    $m->setRaw(\Google_Utils::urlSafeB64Encode($mime));

    try {
        $message = $gmailClient->users_messages->send('me', $m);

        return $message;
    } catch (\Exception $e) {
        return $e->getMessage();
    }

残念ながら、役に立たないメッセージが表示されます:(

{ "error": { "errors": [ { "domain": "global", "reason": "failedPrecondition", "message": "Bad Request" } ], "code": 400, "message": "Bad Request" } }

欠落している前提条件は何ですか?管理パネルの高度なログなどでそれを知る方法はありますか

私はこの良いリンクもフォローしました: Gmail REST API : 400 Bad Request + Failed Precondition

前もって感謝します

4

0 に答える 0