public interface IGraphClient
extends IDisposable
Represents the interface for Exchange REST client.
Modifier and Type | Method and Description |
---|---|
GraphFolderInfo |
copyFolder(String newParentId,
String itemId)
Copy a mailfolder and its contents to another mailfolder.
|
MapiMessage |
copyMessage(String newParentId,
String itemId)
Copy a Message to another mailfolder.
|
String |
copyNotebook(String itemId,
String groupId,
String renameAs)
Copies a notebook to the Notebooks folder in the destination Documents library.
|
MapiAttachment |
createAttachment(String parentId,
MapiAttachment attachment)
Creates new attachment for specified item
|
OutlookCategory |
createCategory(String displayName,
int preset)
Creates an
OutlookCategory object in the user's master list of categories. |
GraphFolderInfo |
createFolder(String folderName)
Create new folder.
|
GraphFolderInfo |
createFolder(String parentFolderId,
String folderName)
Create new folder.
|
MapiMessage |
createMessage(String folderId,
MapiMessage message)
Creates message in specified folder
|
Notebook |
createNotebook(Notebook notebook)
Create a new OneNote notebook.
|
ClassificationOverride |
createOrUpdateOverride(ClassificationOverride classificationOverride)
Create an override for a sender identified by an SMTP address.
|
ClassificationOverride |
createOrUpdateOverride(MailAddress sender,
int classifyAs)
Create an override for a sender identified by an SMTP address.
|
InboxRule |
createRule(InboxRule rule)
Create a message rule by specifying a set of conditions and actions.
|
void |
delete(String id)
Delete object.
|
void |
deleteAttachment(String id)
Removes attachment
|
MapiAttachment |
fetchAttachment(String id)
Gets attachment for specified id
|
OutlookCategory |
fetchCategory(String itemId)
Get the properties and relationships of the specified outlookCategory object.
|
MapiMessage |
fetchMessage(String id)
Gets message in specified id
|
Notebook |
fetchNotebook(String itemId)
Retrieve the properties and relationships of a notebook object.
|
InboxRule |
fetchRule(String itemId)
Get the properties and relationships of a message rule object.
|
GraphFolderInfo |
getFolder(String id)
Gets folder by an id.
|
IMultipleServicesTokenProvider |
getMultipleServicesTokenProvider()
Gets or sets an object allows to retrieve OAuth access token.
|
OnenoteOperation |
getOneNoteOperationStatus(String operationId)
Get the status of a long-running OneNote operation.
|
int |
getResource()
Gets or sets resource type.
|
String |
getResourceId()
Gets or sets resource id.
|
String |
getTenantId()
Gets or sets tenant identifier
|
int |
getTimeout()
Gets or sets the number of milliseconds to wait before the operation times out.
|
ITokenProvider |
getTokenProvider()
Gets or sets an object allows to retrieve OAuth access token.
|
MapiAttachmentCollection |
listAttachments(String id)
List Attachments from the parent message.
|
List<OutlookCategory> |
listCategories()
Get all the categories that have been defined for the user.
|
List<OutlookCategory> |
listCategoriesInternal() |
GraphFolderInfoCollection |
listFolders()
List folders from the parent folder for folders that are displayed in normal mail clients, such as the inbox.
|
GraphFolderInfoCollection |
listFolders(String id)
List folders from the parent folder for folders that are displayed in normal mail clients, such as the inbox.
|
GraphMessageInfoCollection |
listMessages(String id)
List GraphMessageInfo from the parent folder.
|
GraphMessagePageInfo |
listMessages(String id,
PageInfo page,
MailQuery query)
List GraphMessageInfo from the parent folder.
|
NotebookCollection |
listNotebooks()
Retrieve a list of notebook objects.
|
List<ClassificationOverride> |
listOverrides()
Get the overrides that a user has set up to always classify messages from certain senders in specific ways.
|
List<ClassificationOverride> |
listOverridesInternal() |
List<InboxRule> |
listRules()
Get all the messageRule objects defined for the user's Inbox.
|
List<InboxRule> |
listRulesInternal() |
GraphFolderInfo |
moveFolder(String newParentId,
String itemId)
Move a mailfolder and its contents to another mailfolder.
|
MapiMessage |
moveMessage(String newParentId,
String itemId)
Move a message to another mailfolder.
|
void |
send(MapiMessage message)
Sends email message
|
void |
send(MapiMessage message,
boolean saveToSentItems)
Sends email message
|
void |
send(String itemId)
Send a message in the draft folder.
|
void |
setMultipleServicesTokenProvider(IMultipleServicesTokenProvider value)
Gets or sets an object allows to retrieve OAuth access token.
|
void |
setRead(String itemId)
Mark message as read.
|
void |
setResource(int value)
Gets or sets resource type.
|
void |
setResourceId(String value)
Gets or sets resource id.
|
void |
setTenantId(String value)
Gets or sets tenant identifier
|
void |
setTimeout(int value)
Gets or sets the number of milliseconds to wait before the operation times out.
|
void |
setTokenProvider(ITokenProvider value)
Gets or sets an object allows to retrieve OAuth access token.
|
OutlookCategory |
updateCategory(OutlookCategory category)
Updates pre-set color constant for specified category
|
GraphFolderInfo |
updateFolder(GraphFolderInfo folderInfo)
Updates folder.
|
MapiMessage |
updateMessage(MapiMessage message)
Updates message
|
MapiMessage |
updateMessage(MapiMessage message,
UpdateSettings updateSettings)
Updates message
|
ClassificationOverride |
updateOverride(ClassificationOverride classificationOverride)
Change the classifyAs field of an override as specified.
|
InboxRule |
updateRule(InboxRule rule)
Change writable properties on a messageRule object and save the changes.
|
IMultipleServicesTokenProvider getMultipleServicesTokenProvider()
Gets or sets an object allows to retrieve OAuth access token.
void setMultipleServicesTokenProvider(IMultipleServicesTokenProvider value)
Gets or sets an object allows to retrieve OAuth access token.
ITokenProvider getTokenProvider()
Gets or sets an object allows to retrieve OAuth access token.
void setTokenProvider(ITokenProvider value)
Gets or sets an object allows to retrieve OAuth access token.
int getTimeout()
Gets or sets the number of milliseconds to wait before the operation times out. The default value is 100,000 milliseconds (100 seconds).
void setTimeout(int value)
Gets or sets the number of milliseconds to wait before the operation times out. The default value is 100,000 milliseconds (100 seconds).
String getTenantId()
Gets or sets tenant identifier
void setTenantId(String value)
Gets or sets tenant identifier
String getResourceId()
Gets or sets resource id. For instance for users it may be user principal name (UPN) or user id
void setResourceId(String value)
Gets or sets resource id. For instance for users it may be user principal name (UPN) or user id
int getResource()
Gets or sets resource type.
void setResource(int value)
Gets or sets resource type.
void delete(String id)
Delete object.
id
- Object id to deleteGraphFolderInfoCollection listFolders()
List folders from the parent folder for folders that are displayed in normal mail clients, such as the inbox.
GraphFolderInfoCollection listFolders(String id)
List folders from the parent folder for folders that are displayed in normal mail clients, such as the inbox.
id
- Parent folder idGraphFolderInfo getFolder(String id)
Gets folder by an id.
id
- Folder idGraphFolderInfo createFolder(String folderName)
Create new folder.
folderName
- Folder nameGraphFolderInfo createFolder(String parentFolderId, String folderName)
Create new folder.
parentFolderId
- Parent folder idfolderName
- Folder nameGraphFolderInfo updateFolder(GraphFolderInfo folderInfo)
Updates folder.
folderInfo
- Folder to updateGraphFolderInfo copyFolder(String newParentId, String itemId)
Copy a mailfolder and its contents to another mailfolder.
newParentId
- New parent folder iditemId
- Item id to be copiedGraphFolderInfo moveFolder(String newParentId, String itemId)
Move a mailfolder and its contents to another mailfolder.
newParentId
- New parent folder iditemId
- Item id to be movedGraphMessageInfoCollection listMessages(String id)
List GraphMessageInfo from the parent folder.
The GraphKnownFolders
identifies well-known folders that can be used as folder id.
id
- Parent folder idGraphMessagePageInfo listMessages(String id, PageInfo page, MailQuery query)
List GraphMessageInfo from the parent folder.
The GraphKnownFolders
identifies well-known folders that can be used as folder id.
id
- Parent folder idpage
- A page infoquery
- MailQuery
that represents search query.MapiAttachment createAttachment(String parentId, MapiAttachment attachment)
Creates new attachment for specified item
parentId
- Item idattachment
- Attachment to createMapiAttachment fetchAttachment(String id)
Gets attachment for specified id
id
- Attachment idvoid deleteAttachment(String id)
Removes attachment
id
- Attachment id to deleteMapiAttachmentCollection listAttachments(String id)
List Attachments from the parent message.
id
- Parent message idMapiMessage fetchMessage(String id)
Gets message in specified id
id
- Message id to fetchMapiMessage createMessage(String folderId, MapiMessage message)
Creates message in specified folder
folderId
- Parent folder idmessage
- Mapi message to be createdMapiMessage updateMessage(MapiMessage message)
Updates message
message
- Mapi message to be updatedMapiMessage updateMessage(MapiMessage message, UpdateSettings updateSettings)
Updates message
message
- Mapi message to be updatedupdateSettings
- Update settingsvoid send(String itemId)
Send a message in the draft folder. The draft message can be a new message draft, reply draft, reply-all draft, or a forward draft. The message is then saved in the Sent Items folder.
itemId
- Item id of the draft messagevoid send(MapiMessage message)
Sends email message
message
- Mapi message to sendvoid send(MapiMessage message, boolean saveToSentItems)
Sends email message
message
- Mapi message to sendsaveToSentItems
- Indicates whether to save the message in Sent Items.MapiMessage copyMessage(String newParentId, String itemId)
Copy a Message to another mailfolder.
newParentId
- New parent folder iditemId
- Item id to be copiedMapiMessage moveMessage(String newParentId, String itemId)
Move a message to another mailfolder.
newParentId
- New parent folder iditemId
- Item id to be movedvoid setRead(String itemId)
Mark message as read.
itemId
- Item id to mark readList<OutlookCategory> listCategories()
Get all the categories that have been defined for the user.
List<OutlookCategory> listCategoriesInternal()
OutlookCategory createCategory(String displayName, int preset)
Creates an OutlookCategory
object in the user's master list of categories.
displayName
- A unique name that identifies a category in the user's mailbox.preset
- pre-set color constant that characterizes a category, and that is mapped to one of 25 predefined colorsOutlookCategory updateCategory(OutlookCategory category)
Updates pre-set color constant for specified category
category
- Category to updateOutlookCategory fetchCategory(String itemId)
Get the properties and relationships of the specified outlookCategory object.
itemId
- Item id to be fetchedClassificationOverride createOrUpdateOverride(MailAddress sender, int classifyAs)
Create an override for a sender identified by an SMTP address. Future messages from that SMTP address will be consistently classified as specified in the override. Note: - If an override already exists with the same SMTP address, then the classifyAs and name fields of that override are updated with the provided values. - The maximum number of overrides supported for a mailbox is 1000, based on unique sender SMTP addresses. Permissions: Delegated(work or school account) Mail.ReadWrite Delegated(personal Microsoft account) Mail.ReadWrite Application Mail.ReadWrite
sender
- Email address information of the sender for whom the override is created.classifyAs
- Value which specifies how incoming messages from a specific sender should always be classified as.ClassificationOverride createOrUpdateOverride(ClassificationOverride classificationOverride)
Create an override for a sender identified by an SMTP address. Future messages from that SMTP address will be consistently classified as specified in the override. Note: - If an override already exists with the same SMTP address, then the classifyAs and name fields of that override are updated with the provided values. - The maximum number of overrides supported for a mailbox is 1000, based on unique sender SMTP addresses. Permissions: Delegated(work or school account) Mail.ReadWrite Delegated(personal Microsoft account) Mail.ReadWrite Application Mail.ReadWrite
classificationOverride
- ClassificationOverride updateOverride(ClassificationOverride classificationOverride)
Change the classifyAs field of an override as specified. You cannot use this method to change any other fields in an ClassificationOverride instance. If an override exists for a sender and the sender changes his/her display name, you can use CreateOrUpdateOverride to force an update to the name field in the existing override. If an override exists for a sender and the sender changes his/her SMTP address, deleting the existing override and creating a new one with the new SMTP address is the only way to "update" the override for this sender. Permissions: One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) Mail.ReadWrite Delegated (personal Microsoft account) Mail.ReadWrite Application Mail.ReadWrite
classificationOverride
- Classification override to updateList<ClassificationOverride> listOverrides()
Get the overrides that a user has set up to always classify messages from certain senders in specific ways. Each override corresponds to an SMTP address of a sender.Initially, a user does not have any overrides. Permissions: One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) Mail.Read Delegated (personal Microsoft account) Mail.Read Application Mail.Read
List<ClassificationOverride> listOverridesInternal()
InboxRule createRule(InboxRule rule)
Create a message rule by specifying a set of conditions and actions. Outlook carries out those actions if an incoming message in the user's Inbox meets the specified conditions. Permissions: One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) MailboxSettings.ReadWrite Delegated (personal Microsoft account) MailboxSettings.ReadWrite Application MailboxSettings.ReadWrite
rule
- Rule to be created in inboxList<InboxRule> listRules()
Get all the messageRule objects defined for the user's Inbox. Permissions One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) MailboxSettings.Read Delegated (personal Microsoft account) MailboxSettings.Read Application MailboxSettings.Read
List<InboxRule> listRulesInternal()
InboxRule fetchRule(String itemId)
Get the properties and relationships of a message rule object. Permissions One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) MailboxSettings.Read Delegated (personal Microsoft account) MailboxSettings.Read Application MailboxSettings.Read
itemId
- Item idInboxRule updateRule(InboxRule rule)
Change writable properties on a messageRule object and save the changes. Permissions One of the following permissions is required to call this API.To learn more, including how to choose permissions, see Permissions. Delegated (work or school account) MailboxSettings.ReadWrite Delegated (personal Microsoft account) MailboxSettings.ReadWrite Application MailboxSettings.ReadWrite
rule
- Rule to updateNotebook fetchNotebook(String itemId)
Retrieve the properties and relationships of a notebook object. Permissions One of the following permissions is required to call this API. Delegated (work or school account) Notes.Create, Notes.Read, Notes.ReadWrite, Notes.Read.All, Notes.ReadWrite.All Delegated (personal Microsoft account) Notes.Create, Notes.Read, Notes.ReadWrite Application Notes.Read.All, Notes.ReadWrite.All
itemId
- Item idNotebook createNotebook(Notebook notebook)
Create a new OneNote notebook. Permissions One of the following permissions is required to call this API. Delegated (work or school account) Notes.Create, Notes.ReadWrite, Notes.ReadWrite.All Delegated (personal Microsoft account) Notes.Create, Notes.ReadWrite Application Notes.ReadWrite.All
notebook
- Notebook to be createdNotebookCollection listNotebooks()
Retrieve a list of notebook objects. Permissions One of the following permissions is required to call this API. Delegated (work or school account) Notes.Create, Notes.Read, Notes.ReadWrite, Notes.Read.All, Notes.ReadWrite.All Delegated (personal Microsoft account) Notes.Create, Notes.Read, Notes.ReadWrite Application Notes.Read.All, Notes.ReadWrite.All
String copyNotebook(String itemId, String groupId, String renameAs)
Copies a notebook to the Notebooks folder in the destination Documents library. The folder is created if it doesn't exist. For Copy operations, you follow an asynchronous calling pattern: First call the Copy action, and then poll the operation endpoint for the result. Permissions One of the following permissions is required to call this API. Delegated(work or school account) Notes.Create, Notes.ReadWrite, Notes.ReadWrite.All Delegated(personal Microsoft account) Notes.Create, Notes.ReadWrite Application Notes.ReadWrite.All
itemId
- Item id to be copiedgroupId
- The id of the group to copy to. Use only when copying to an Office 365 group.renameAs
- The name of the copy. Defaults to the name of the existing item.OnenoteOperation getOneNoteOperationStatus(String operationId)
Get the status of a long-running OneNote operation. This applies to operations that return the Operation-Location header in the response, such as CopyNotebook, CopyToNotebook, CopyToSectionGroup, and CopyToSection. You can poll the Operation-Location endpoint until the status property returns completed or failed. If the status is completed, the resourceLocation property contains the resource endpoint URI. If the status is failed, the error and @api.diagnostics properties provide error information.
operationId
- Operation id