【发布时间】:2016-01-17 17:32:32
【问题描述】:
我正在使用 Laravel 开发 Gmail API。
我收到了错误:
参数 2 传递给 Google_Service_Gmail_UsersMessages_Resource::send() 必须是 Google_Service_Gmail_Message 实例,给定字符串
Google_Service_Gmail_Message 的实例是什么?我要给string,我应该给什么?
我的代码是
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 方法位于line 7
【问题讨论】:
-
方法
send()是Google_Service_Gmail_UsersMessages_Resource类的成员,在调用时需要两个参数(或参数),其中一个(第二个)是Google_Service_Gmail_Message类的实例。而不是它,你正在传递一个字符串。这是我仅阅读您的错误消息所能说的最多的内容。如果您需要更多帮助,您需要分享产生此问题的代码。 -
@Alan Machado,我正在处理的代码
-
好了,就在这里:
$message = $service->users_messages->send($userId, $message);,var 消息是一个包含“test”的字符串,而它应该是Google_Service_Gmail_Message的一个实例。您必须阅读 API 文档以了解如何创建要发送的新消息(以$message = new Google_Service_Gmail_Message();开头)