New-MgUserMessageAttachmentUploadSession
Create an upload session that allows an app to iteratively upload ranges of a file, so as to attach the file to the specified Outlook item. The item can be a message or event. Use this approach to attach a file if the file size is between 3 MB and 150 MB. To attach a file that's smaller than 3 MB, do a POST operation on the attachments navigation property of the Outlook item; see how to do this for a message or for an event. As part of the response, this action returns an upload URL that you can use in subsequent sequential PUT queries. Request headers for each PUT operation let you specify the exact range of bytes to be uploaded. This allows transfer to be resumed, in case the network connection is dropped during upload. The following are the steps to attach a file to an Outlook item using an upload session: See attach large files to Outlook messages or events for an example.
Note
To view the beta release of this cmdlet, view New-MgBetaUserMessageAttachmentUploadSession
Syntax
New-MgUserMessageAttachmentUploadSession
-MessageId <String>
-UserId <String>
[-ResponseHeadersVariable <String>]
[-AdditionalProperties <Hashtable>]
[-AttachmentItem <IMicrosoftGraphAttachmentItem>]
[-Headers <IDictionary>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-MgUserMessageAttachmentUploadSession
-MessageId <String>
-UserId <String>
-BodyParameter <IPaths1C56La0UsersUserIdMessagesMessageIdAttachmentsMicrosoftGraphCreateuploadsessionPostRequestbodyContentApplicationJsonSchema>
[-ResponseHeadersVariable <String>]
[-Headers <IDictionary>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-MgUserMessageAttachmentUploadSession
-InputObject <IUsersActionsIdentity>
[-ResponseHeadersVariable <String>]
[-AdditionalProperties <Hashtable>]
[-AttachmentItem <IMicrosoftGraphAttachmentItem>]
[-Headers <IDictionary>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-MgUserMessageAttachmentUploadSession
-InputObject <IUsersActionsIdentity>
-BodyParameter <IPaths1C56La0UsersUserIdMessagesMessageIdAttachmentsMicrosoftGraphCreateuploadsessionPostRequestbodyContentApplicationJsonSchema>
[-ResponseHeadersVariable <String>]
[-Headers <IDictionary>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Create an upload session that allows an app to iteratively upload ranges of a file, so as to attach the file to the specified Outlook item. The item can be a message or event. Use this approach to attach a file if the file size is between 3 MB and 150 MB. To attach a file that's smaller than 3 MB, do a POST operation on the attachments navigation property of the Outlook item; see how to do this for a message or for an event. As part of the response, this action returns an upload URL that you can use in subsequent sequential PUT queries. Request headers for each PUT operation let you specify the exact range of bytes to be uploaded. This allows transfer to be resumed, in case the network connection is dropped during upload. The following are the steps to attach a file to an Outlook item using an upload session: See attach large files to Outlook messages or events for an example.
Permissions
Permission type | Least privileged permissions | Higher privileged permissions |
---|---|---|
Delegated (work or school account) | Calendars.ReadWrite | Mail.ReadWrite |
Delegated (personal Microsoft account) | Calendars.ReadWrite | Mail.ReadWrite |
Application | Calendars.ReadWrite | Mail.ReadWrite |
Examples
Example 1: Create an upload session to add a large attachment to a draft message
Import-Module Microsoft.Graph.Users.Actions
$params = @{
AttachmentItem = @{
attachmentType = "file"
name = "flower"
size = 3483322
}
}
# A UPN can also be used as -UserId.
New-MgUserMessageAttachmentUploadSession -UserId $userId -MessageId $messageId -BodyParameter $params
This example will create an upload session to add a large attachment to a draft message
Example 2: Create an upload session to add a large in-line attachment to a draft message
Import-Module Microsoft.Graph.Users.Actions
$params = @{
AttachmentItem = @{
attachmentType = "file"
name = "scenary"
size = 7208534
isInline = $true
contentId = "my_inline_picture"
}
}
# A UPN can also be used as -UserId.
New-MgUserMessageAttachmentUploadSession -UserId $userId -MessageId $messageId -BodyParameter $params
This example will create an upload session to add a large in-line attachment to a draft message
Parameters
-AdditionalProperties
Additional Parameters
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AttachmentItem
attachmentItem To construct, see NOTES section for ATTACHMENTITEM properties and create a hash table.
Type: | IMicrosoftGraphAttachmentItem |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BodyParameter
. To construct, see NOTES section for BODYPARAMETER properties and create a hash table.
Type: | IPaths1C56La0UsersUserIdMessagesMessageIdAttachmentsMicrosoftGraphCreateuploadsessionPostRequestbodyContentApplicationJsonSchema |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Headers
Optional headers that will be added to the request.
Type: | IDictionary |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InputObject
Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
Type: | IUsersActionsIdentity |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MessageId
The unique identifier of message
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProgressAction
{{ Fill ProgressAction Description }}
Type: | ActionPreference |
Aliases: | proga |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResponseHeadersVariable
Optional Response Headers Variable.
Type: | String |
Aliases: | RHV |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserId
The unique identifier of user
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
Microsoft.Graph.PowerShell.Models.IPaths1C56La0UsersUserIdMessagesMessageIdAttachmentsMicrosoftGraphCreateuploadsessionPostRequestbodyContentApplicationJsonSchema
Microsoft.Graph.PowerShell.Models.IUsersActionsIdentity
System.Collections.IDictionary
Outputs
Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUploadSession
Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
ATTACHMENTITEM <IMicrosoftGraphAttachmentItem>
: attachmentItem
[(Any) <Object>]
: This indicates any property can be added to this object.[AttachmentType <String>]
: attachmentType[ContentId <String>]
: The CID or Content-Id of the attachment for referencing for the in-line attachments using the tag in HTML messages. Optional.[ContentType <String>]
: The nature of the data in the attachment. Optional.[IsInline <Boolean?>]
: true if the attachment is an inline attachment; otherwise, false. Optional.[Name <String>]
: The display name of the attachment. This can be a descriptive string and doesn't have to be the actual file name. Required.[Size <Int64?>]
: The length of the attachment in bytes. Required.
BODYPARAMETER <IPaths1C56La0UsersUserIdMessagesMessageIdAttachmentsMicrosoftGraphCreateuploadsessionPostRequestbodyContentApplicationJsonSchema>
: .
[(Any) <Object>]
: This indicates any property can be added to this object.[AttachmentItem <IMicrosoftGraphAttachmentItem>]
: attachmentItem[(Any) <Object>]
: This indicates any property can be added to this object.[AttachmentType <String>]
: attachmentType[ContentId <String>]
: The CID or Content-Id of the attachment for referencing for the in-line attachments using the tag in HTML messages. Optional.[ContentType <String>]
: The nature of the data in the attachment. Optional.[IsInline <Boolean?>]
: true if the attachment is an inline attachment; otherwise, false. Optional.[Name <String>]
: The display name of the attachment. This can be a descriptive string and doesn't have to be the actual file name. Required.[Size <Int64?>]
: The length of the attachment in bytes. Required.
INPUTOBJECT <IUsersActionsIdentity>
: Identity Parameter
[AuthenticationMethodId <String>]
: The unique identifier of authenticationMethod[CalendarId <String>]
: The unique identifier of calendar[ChatId <String>]
: The unique identifier of chat[ChatMessageId <String>]
: The unique identifier of chatMessage[ChatMessageId1 <String>]
: The unique identifier of chatMessage[ContentTypeId <String>]
: The unique identifier of contentType[DeviceLogCollectionResponseId <String>]
: The unique identifier of deviceLogCollectionResponse[DocumentSetVersionId <String>]
: The unique identifier of documentSetVersion[DriveId <String>]
: The unique identifier of drive[DriveItemId <String>]
: The unique identifier of driveItem[DriveItemVersionId <String>]
: The unique identifier of driveItemVersion[EventId <String>]
: The unique identifier of event[EventId1 <String>]
: The unique identifier of event[ListItemId <String>]
: The unique identifier of listItem[ListItemVersionId <String>]
: The unique identifier of listItemVersion[MailFolderId <String>]
: The unique identifier of mailFolder[MailFolderId1 <String>]
: The unique identifier of mailFolder[ManagedDeviceId <String>]
: The unique identifier of managedDevice[MessageId <String>]
: The unique identifier of message[NotebookId <String>]
: The unique identifier of notebook[OnenotePageId <String>]
: The unique identifier of onenotePage[OnenoteSectionId <String>]
: The unique identifier of onenoteSection[OnlineMeetingId <String>]
: The unique identifier of onlineMeeting[PermissionId <String>]
: The unique identifier of permission[PhoneAuthenticationMethodId <String>]
: The unique identifier of phoneAuthenticationMethod[SubscriptionId <String>]
: The unique identifier of subscription[TeamsAppInstallationId <String>]
: The unique identifier of teamsAppInstallation[TodoTaskId <String>]
: The unique identifier of todoTask[TodoTaskListId <String>]
: The unique identifier of todoTaskList[UserId <String>]
: The unique identifier of user