Php 传递给Google_Service_Gmail_UsersMessages_Resource::send()的参数2必须是Google_Service_Gmail_Message的实例,字符串为
我正在与Laravel一起开发Gmail API 我得到了一个错误: 第2项论点已转交立法局 Google_Service_Gmail_UsersMessages_Resource::send()必须是 Google_服务_Gmail_消息实例,给定字符串 下面是Php 传递给Google_Service_Gmail_UsersMessages_Resource::send()的参数2必须是Google_Service_Gmail_Message的实例,字符串为,php,laravel,gmail-api,Php,Laravel,Gmail Api,我正在与Laravel一起开发Gmail API 我得到了一个错误: 第2项论点已转交立法局 Google_Service_Gmail_UsersMessages_Resource::send()必须是 Google_服务_Gmail_消息实例,给定字符串 下面是Google\u Service\u Gmail\u Message的实例?。我在给字符串我应该给什么 我的代码是 public function sendMessage($message) { try { $client = $thi
Google\u Service\u Gmail\u Message
的实例?。我在给字符串
我应该给什么
我的代码是
public function sendMessage($message) {
try {
$client = $this->getClient();
$service = new Google_Service_Gmail($client);
$userId = 'me';
$message = "test";
$message = $service->users_messages->send($userId, $message);
print 'Message with ID: ' . $message->getId() . ' sent.';
return $message;
} catch (Exception $e) {
print 'An error occurred: ' . $e->getMessage();
}
}
带有两个参数的
send
方法位于第7行//使用PHPMailer准备邮件
$mail=new PHPMailer()
$mail->CharSet=“UTF-8”
$mail->Encoding=“base64”
//提供标题信息、正文等。
$mail->Subject=“你有邮件!”
//创建MIME消息
$mail->preSend()
$mime=$mail->getSentMIMEMessage()
$mime=rtrim(strtr(base64_encode($mime),“+/”、“-”、“=”)
//创建Gmail消息
$message=新的Google_服务_Gmail_消息()
$message->setRaw($mime)
$message=$service->users\u messages->send('me',$message)
方法send()
,是Google\u Service\u Gmail\u UsersMessages\u Resource
类的成员,调用时需要两个参数(或参数),其中一个(第二个)是Google\u Service\u Gmail\u Message
类的实例。相反,您传递的是一个字符串。我只能通过阅读您的错误消息来说明这一点。如果您需要更多帮助,您需要共享生成此问题的代码。@Alan Machado,我正在处理的代码就在这里:$message=$service->users\u messages->send($userId,$message)代码>,var消息是一个包含“test”的字符串,它应该是Google\u Service\u Gmail\u消息的实例。您必须阅读API文档才能了解如何创建要发送的新消息(从$message=new Google\u Service\u Gmail\u message();
开始),我以前是手动创建mime消息的,但您的答案似乎可以帮助我更新应用程序,以便高效地创建mime消息。干杯