Skip to content
This repository has been archived by the owner on Jul 18, 2023. It is now read-only.

ngs-archives/go-google-email-audit-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-google-email-audit-api

Build Status GoDoc Go Report Card Coverage Status

Go Client Library for Google Email Audit API

go get -u github.com/ngs/go-google-email-audit-api/emailaudit

Email Monitor API

import (
	// ...
	"github.com/ngs/go-google-email-audit-api/emailaudit"
)

func main() {
	// ...
	srv, err := emailaudit.New(client) // client = http.Client
	if err != nil {
		log.Fatalf("Unable to retrieve Email Audit API Client %v", err)
	}
	endDate := time.Date(2116, time.October, 31, 23, 59, 59, 0, time.UTC)

	// Create or update Email Monitor
	monitor, err := srv.MailMonitor.Update("example.com",
		"ngs", "kyohei", endDate,
		emailaudit.MailMonitorLevels{
			IncomingEmail: emailaudit.FullMessageLevel,
			OutgoingEmail: emailaudit.FullMessageLevel,
			Draft:         emailaudit.FullMessageLevel,
			Chat:          emailaudit.FullMessageLevel,
		},
	)
	if err != nil {
		log.Fatalf("Unable to update email monitor. %v", err)
	}

	// List Email Monitors
	monitors, err := srv.MailMonitor.List("example.com", "ngs")
	if err != nil {
		log.Fatalf("Unable to list email monitor. %v", err)
	}
	for _, m := range monitors {
		fmt.Printf("%v %v@%v chat:%v draft:%v incoming:%v outgoing:%v\n",
			m.Updated, m.DestUserName, m.DomainName,
			m.MonitorLevels.Chat, m.MonitorLevels.Draft,
			m.MonitorLevels.IncomingEmail, m.MonitorLevels.OutgoingEmail)
	}

	// Disable Email Monitor
	err = srv.MailMonitor.Disable("example.com", "ngs", "kyohei")
	if err != nil {
		log.Fatalf("Unable to disable email monitor. %v", err)
	}
}

Mailbox Download

Not yet implemented

Author

Atsushi Nagase

License

See LICENSE

Releases

No releases published

Packages

No packages published

Languages