Để nhận thư trong hộp thư đến từ Google bằng PHP, bạn có thể sử dụng Thư viện ứng dụng khách của Google dành cho PHP. Đây là một ví dụ về cách làm điều này
1. Đầu tiên, cài đặt Google Client Library cho PHP bằng Composer
composer require google/apiclient:^2.0
2. Tiếp theo, tạo một dự án mới trong Google Developers Console và bật Gmail API. Điều này sẽ cung cấp cho bạn thông tin đăng nhập bạn cần để truy cập API Gmail
3. Sau đó, tạo tập lệnh PHP mới và bao gồm tệp tự động tải từ Trình soạn thảo ở đầu tập lệnh
php require_once __DIR__ . '/vendor/autoload.php';
4. Tiếp theo, tạo một phiên bản mới của lớp Google_Client và chỉ định thông tin đăng nhập của bạn
php $client = new Google_Client[]; $client->setApplicationName['My Application']; $client->setAuthConfig['client_secrets.json']; $client->addScope[Google_Service_Gmail::MAIL_GOOGLE_COM];
5. Sau đó, xác thực người dùng và nhận mã thông báo truy cập
php $accessToken = $client->fetchAccessTokenWithAuthCode[$authCode]; $client->setAccessToken[$accessToken];
6. Cuối cùng, tạo một phiên bản mới của lớp Google_Service_Gmail và sử dụng phương thức `users_messages->list` để truy xuất danh sách thư trong hộp thư đến của người dùng
php $service = new Google_Service_Gmail[$client]; $messages = $service->users_messages->listUsersMessages['me', ['labelIds' => 'INBOX']];
Thao tác này sẽ trả về một danh sách các đối tượng thư, sau đó bạn có thể lặp lại danh sách này để truy cập thông tin chi tiết của từng thư, chẳng hạn như chủ đề, người gửi và nội dung
php foreach [$messages as $message] { $message = $service->users_messages->get['me', $message->id, ['format' => 'full']]; $headers = $message->getPayload[]->getHeaders[]; $subject = null; $from = null; foreach [$headers as $header] { if [$header->name == 'Subject'] { $subject = $header->value; } else if [$header->name == 'From'] { $from = $header->value; } } // do something with the subject and sender }
Đây chỉ là một ví dụ cơ bản về cách truy xuất thư từ hộp thư đến Gmail của người dùng bằng PHP và Thư viện ứng dụng khách của Google. Bạn có thể sửa đổi mã này cho phù hợp với nhu cầu cụ thể của mình
Bài viết này tôi sẽ cung cấp 1 ví dụ về cách sử dụng Cách google client php nhận thư hộp thư đến với Ví dụ .
$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];
Các trường hợp khác xoay quanh chủ đề Cách google client php lấy tin nhắn inbox với các Ví dụ được nhiều người quan tâm