Entities

Static EntityEndpoints maps Gmail API resources (messages, labels, threads, etc.) to REST paths. Required parameters (e.g. user id, message id) mirror Google’s Gmail API.

Source & IDataSource

Implementation: Connectors/MailServices/Gmail/GmailDataSource.cs — GmailDataSource : WebAPIDataSource. Reads route through GetEntityAsync with logical entity keys (messages.list, messages.get, …). Send/create/update helpers call PostAsync / PutAsync on full gmail.googleapis.com URLs.

Command methods (CommandAttribute)

NameMethodReturnsObjectType
GetMessagesGetMessages(int maxResults = 10, string? q = null, string? labelIds = null)Task<IEnumerable<GmailMessage>>GmailMessage
GetMessageGetMessage(string id)Task<IEnumerable<GmailMessage>>GmailMessage
GetThreadsGetThreads(int maxResults = 10, string? q = null)Task<IEnumerable<GmailThread>>GmailThread
GetLabelsGetLabels()Task<IEnumerable<GmailLabel>>GmailLabel
GetProfileGetProfile()Task<IEnumerable<GmailProfile>>GmailProfile
SendMessageSendMessageAsync(GmailMessage message)Task<IEnumerable<GmailMessage>>GmailMessage
CreateLabelCreateLabelAsync(GmailLabel label)Task<IEnumerable<GmailLabel>>GmailLabel
UpdateLabelUpdateLabelAsync(string id, GmailLabel label)Task<IEnumerable<GmailLabel>>GmailLabel
CreateDraftCreateDraftAsync(GmailDraft draft)Task<IEnumerable<GmailDraft>>GmailDraft
UpdateDraftUpdateDraftAsync(string id, GmailDraft draft)Task<IEnumerable<GmailDraft>>GmailDraft

Model types

TheTechIdea.Beep.Connectors.Gmail.Models — GmailMessage, GmailThread, GmailLabel, GmailProfile, GmailDraft, GmailHistory, and related types in Models.cs; list responses use private parser DTOs inside GmailDataSource (e.g. messages/threads list envelopes).

Connection

OAuth 2.0 or service account access to Gmail requires scopes that match the entities you use. Supply tokens and API base URL through WebAPIConnectionProperties.

Also read