使用 Gmail API 在 PHP 中从 Gmail 读取邮件

新手上路,请多包涵

我已经从 Google PHP 客户端库下载了新的 Gmail API 源代码。

我使用以下方法初始化了服务:

 set_include_path("./google-api-php-client-master/src/".PATH_SEPARATOR.get_include_path());

require_once 'Google/Client.php';
require_once 'Google/Service/Gmail.php';

$client = new Google_Client();
$client->setClientId($this->config->item('gmailapi_clientid'));
$client->setClientSecret($this->config->item('gmailapi_clientsecret'));
$client->setRedirectUri(base_url('auth'));
$client->addScope('email');
//$client->addScope('profile');
$client->addScope('https://mail.google.com');
$client->setAccessType('offline');

$gmailService = new Google_Service_Gmail($client);

接下来我该怎么办?如何使用 Gmail API PHP 库读取 Gmail 邮件?

原文由 Anandhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 738
1 个回答

为了演示,你可以这样做:

 $optParams = [];
$optParams['maxResults'] = 5; // Return Only 5 Messages
$optParams['labelIds'] = 'INBOX'; // Only show messages in Inbox
$messages = $service->users_messages->listUsersMessages('me',$optParams);
$list = $messages->getMessages();
$messageId = $list[0]->getId(); // Grab first Message

$optParamsGet = [];
$optParamsGet['format'] = 'full'; // Display message in payload
$message = $service->users_messages->get('me',$messageId,$optParamsGet);
$messagePayload = $message->getPayload();
$headers = $message->getPayload()->getHeaders();
$parts = $message->getPayload()->getParts();

$body = $parts[0]['body'];
$rawData = $body->data;
$sanitizedData = strtr($rawData,'-_', '+/');
$decodedMessage = base64_decode($sanitizedData);

var_dump($decodedMessage);

原文由 Muffy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏