public function read_new_email_subject() { $GoogleAPI = GoogleAppsAPI::getInstance(); $client = $GoogleAPI->getClient(); $service = new Google_Service_Gmail($client); $pageToken = NULL; $userId = 'me'; $messages = array(); $opt_param = array('labelIds' => 'UNREAD'); do { try { if ($pageToken) { $opt_param['pageToken'] = $pageToken; } $messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param); if ($messagesResponse->getMessages()) { $messages = array_merge($messages, $messagesResponse->getMessages()); $pageToken = $messagesResponse->getNextPageToken(); } } catch (Exception $e) { print 'An error occurred: ' . $e->getMessage(); } } while ($pageToken); $speak_emails = array(); $mail_key = 1; foreach ($messages as $message) { $message = $service->users_messages->get($userId, $message->getId()); $headers = $message->payload['modelData']['headers']; foreach ($headers as $key => $header) { if ($header['name'] == 'Subject') { $subject = $header['value']; } if ($header['name'] == 'From') { $from = $header['value']; } if ($header['name'] == 'Date') { $from = $header['value']; } } $speak_emails[$mail_key] = "mail " . $mail_key . ": " . $subject . " Sent by " . $from . " "; $mail_key += 1; } $responses = array("Okay, here we go. ", "Here are your new mails. "); $response = $responses[array_rand($responses, 1)] . implode(": ", $speak_emails); if ($this->speak) { TTS::Speak($response); } }
public function getUpcomingScheduleTomorrow() { $GoogleAPI = GoogleAppsAPI::getInstance(); $client = $GoogleAPI->getClient(); $service = new Google_Service_Calendar($client); $calendarId = $this->CalendarID; $optParams = array('orderBy' => 'startTime', 'singleEvents' => TRUE, 'timeMin' => date('c', mktime(0, 0, 0, $this->current_date['mon'], $this->current_date['mday'] + 1, $this->current_date['year'])), 'timeMax' => date('c', mktime(23, 59, 59, $this->current_date['mon'], $this->current_date['mday'] + 1, $this->current_date['year']))); $results = $service->events->listEvents($calendarId, $optParams); if (count($results->getItems()) == 0) { return false; } else { $return = array(); foreach ($results->getItems() as $event) { $start = $event->start->dateTime; if (empty($start)) { $start = $event->start->date; $end = $event->end->date; } //printf("%s (%s)\n", $event->getSummary(), $start); $return[] = array('summary' => $event->getSummary(), 'start' => $start, 'end' => $end, 'location' => $event->location); } return $return; } }