Kalo te dokumentacioni
Go

Faqosja

Një faqe, të gjitha faqet, ose një element në një kohë.

Një faqe

page.go
page, err := client.Threads.List(ctx, openemail.WithFolder("inbox"), openemail.WithLimit(25))if err != nil {	return err} for _, thread := range page.Items {	fmt.Println(thread.ID())} if page.HasMore {	next, err := client.Threads.List(ctx, openemail.WithFolder("inbox"), openemail.WithCursor(page.NextCursor))	if err != nil {		return err	} 	fmt.Println(len(next.Items))}

Një metodë List kthen një *openemail.Page me Items, HasMore dhe NextCursor. Kthejeni NextCursor me openemail.WithCursor, me të njëjtët filtra, për të lexuar faqen tjetër.

Të gjitha faqet

all.go
failed, err := client.Emails.ListAll(ctx, openemail.WithStatus("failed"))if err != nil {	return err} fmt.Println(len(failed), "messages failed")

Një metodë ListAll e ndjek kursorin deri në fund dhe i kthen të gjithë elementët në një slice të vetëm. Një dështim në cilëndo faqe e bën të dështojë gjithë thirrjen.

Një element në një kohë

iterate.go
for contact, err := range client.Contacts.Iterate(ctx, openemail.WithLimit(100)).All() {	if err != nil {		return err	} 	if contact.String("email") == "[email protected]" {		break	}} events := client.Emails.IterateEvents(ctx, "msg_3f9a1c07d2b84e6a9c5b1f20") for events.Next() {	fmt.Println(events.Item().String("type"))} return events.Err()

Një metodë Iterate kthen një *openemail.Iterator, që e kërkon faqen tjetër vetëm kur cikli arrin tek ajo, kështu që një break i ndal kërkesat. Përshkoni All() me range, ose thirrni Next, Item dhe Err në një cikël të thjeshtë.

Një iterator ndalet kur API-ja përsërit një kursor që ai e ka ndjekur tashmë, kështu që një përshkim nuk mund të sillet kurrë pa fund.