developer
272 Topics'$skiptoken' limit error for Microsoft Exchange online Reporting web service API
I was working on integratingMessageTrace report APIas a part of my SIEM integration: https://reports.office365.com/ecp/reportingwebservice/reporting.svc/MessageTrace[?ODATA options] I have noticed that, whenever my $skiptoken reaches the limit 999999 , it throws the following error with 500 status code: { "odata.error": { "code": "UnknownError", "message": { "lang": "", "value": "An error has occurred on the server." } } } It was working fine for the 999998 value, but wasn't for the $skiptoken value 999999. Is there any limitations on $skiptoken value from the API itself? Also, need information, if $skiptoken value 999999 exists, for example, "odata.nextLink": "../../reportingwebservice/reporting.svc/MessageTrace?$filter=StartDate%20eq%20DateTime'2024-12-02T00%3A00%3A00Z'%20and%20EndDate%20eq%20DateTime'2024-12-02T23%3A59%3A59Z'&$skiptoken=999999" then how can we request the data from next set of events? Can someone let me know, is there any max limit from Microsoft API side or for the $skiptoken?4Views0likes0CommentsMy first Add-In
Hello everyone, I’m working on developing my first Add-In for Outlook 365. In theory, it’s quite simple—it’s a drop-down menu with two options. Each option opens a new email and loads a different template, depending on the selection. So far, the menu is functioning smoothly. Selecting option A displays the corresponding template, and the same goes for option B. However, I’m facing a problem: I can’t get the user’s signature to load automatically as expected, even though the signature is properly configured and set as the default for new emails. I’ve attached part of mymanifest.xml and command.ts files for you to review. If you could provide some guidance on how to resolve this issue, I’d greatly appreciate it. Thank you so much for your support! manifest.xml <Requirements> <Sets> <Set Name="Mailbox" MinVersion="1.5"/> </Sets> </Requirements> <FormSettings> <Form xsi:type="ItemRead"> <DesktopSettings> <SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/> <RequestedHeight>250</RequestedHeight> </DesktopSettings> </Form> </FormSettings> <Permissions>ReadWriteItem</Permissions> <Rule xsi:type="RuleCollection" Mode="Or"> <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/> <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit"/> </Rule> <DisableEntityHighlighting>false</DisableEntityHighlighting> <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0"> <Requirements> <bt:Sets DefaultMinVersion="1.5"> <bt:Set Name="Mailbox"/> </bt:Sets> </Requirements> <Hosts> <Host xsi:type="MailHost"> <DesktopFormFactor> <FunctionFile resid="Commands.Url"/> <ExtensionPoint xsi:type="MessageReadCommandSurface"> <OfficeTab id="TabDefault"> <Group id="msgReadGroup"> <Label resid="GroupLabel"/> <!-- Menú desplegable para las opciones --> <Control xsi:type="Menu" id="DropdownMenu"> <Label resid="DropdownMenu.Label"/> <Supertip> <Title resid="DropdownMenu.Label"/> <Description resid="DropdownMenu.Tooltip"/> </Supertip> <Icon> <bt:Image size="16" resid="MenuIcon.16x16"/> <bt:Image size="32" resid="MenuIcon.32x32"/> <bt:Image size="80" resid="MenuIcon.80x80"/> </Icon> <Items> <Item id="InternalAction"> <Label resid="InternalAction.Label"/> <Supertip> <Title resid="InternalAction.Label"/> <Description resid="InternalAction.Tooltip"/> </Supertip> <!-- Imagen para la opción Internal --> <Icon> <bt:Image size="16" resid="InternalIcon.16x16"/> <bt:Image size="32" resid="InternalIcon.32x32"/> <bt:Image size="80" resid="InternalIcon.80x80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>handleInternalAction</FunctionName> </Action> </Item> <Item id="ExternalAction"> <Label resid="ExternalAction.Label"/> <Supertip> <Title resid="ExternalAction.Label"/> <Description resid="ExternalAction.Tooltip"/> </Supertip> <!-- Imagen para la opción External --> <Icon> <bt:Image size="16" resid="ExternalIcon.16x16"/> <bt:Image size="32" resid="ExternalIcon.32x32"/> <bt:Image size="80" resid="ExternalIcon.80x80"/> </Icon> <Action xsi:type="ExecuteFunction"> <FunctionName>handleExternalAction</FunctionName> </Action> </Item> </Items> </Control> </Group> </OfficeTab> </ExtensionPoint> </DesktopFormFactor> </Host> </Hosts> <Resources> <bt:Images> <!-- Iconos del menú --> <bt:Image id="MenuIcon.16x16" DefaultValue="https://localhost:3000/assets/menu-icon-16.png"/> <bt:Image id="MenuIcon.32x32" DefaultValue="https://localhost:3000/assets/menu-icon-32.png"/> <bt:Image id="MenuIcon.80x80" DefaultValue="https://localhost:3000/assets/menu-icon-80.png"/> <!-- Iconos para la opción Internal --> <bt:Image id="InternalIcon.16x16" DefaultValue="https://localhost:3000/assets/int-16.png"/> <bt:Image id="InternalIcon.32x32" DefaultValue="https://localhost:3000/assets/int-32.png"/> <bt:Image id="InternalIcon.80x80" DefaultValue="https://localhost:3000/assets/int-80.png"/> <!-- Iconos para la opción External --> <bt:Image id="ExternalIcon.16x16" DefaultValue="https://localhost:3000/assets/ext-16.png"/> <bt:Image id="ExternalIcon.32x32" DefaultValue="https://localhost:3000/assets/ext-32.png"/> <bt:Image id="ExternalIcon.80x80" DefaultValue="https://localhost:3000/assets/ext-80.png"/> </bt:Images> <bt:Urls> <bt:Url id="Commands.Url" DefaultValue="https://localhost:3000/commands.html"/> <bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/taskpane.html"/> <bt:Url id="CommandsJs.Url" DefaultValue="https://localhost:3000/commands/commands.js"/> </bt:Urls> <bt:ShortStrings> <!-- Nombre del grupo --> <bt:String id="GroupLabel" DefaultValue="New Client/Matter"/> <!-- Etiqueta para el menú desplegable --> <bt:String id="DropdownMenu.Label" DefaultValue="Choose Action"/> <!-- Etiqueta para la opción Internal --> <bt:String id="InternalAction.Label" DefaultValue="Internal"/> <!-- Etiqueta para la opción External --> <bt:String id="ExternalAction.Label" DefaultValue="External"/> </bt:ShortStrings> <bt:LongStrings> <!-- Tooltip para el menú --> <bt:String id="DropdownMenu.Tooltip" DefaultValue="Select an action to perform."/> <!-- Tooltip para la opción Internal --> <bt:String id="InternalAction.Tooltip" DefaultValue="Opens an internal email template."/> <!-- Tooltip para la opción External --> <bt:String id="ExternalAction.Tooltip" DefaultValue="Opens an external email template."/> </bt:LongStrings> </Resources> </VersionOverrides> </OfficeApp> command.ts /* global Office */ Office.onReady(function (info) { if (info.host === Office.HostType.Outlook) { Office.actions.associate("handleInternalAction", handleInternalAction); Office.actions.associate("handleExternalAction", handleExternalAction); } }); /** * Handles the "Internal" action. * param event The Office Add-in event. */ function handleInternalAction(event) { console.log("Handling internal action..."); openEmailTemplate("internal"); event.completed(); } /** * Handles the "External" action. * param event The Office Add-in event. */ function handleExternalAction(event) { console.log("Handling external action..."); openEmailTemplate("external"); event.completed(); } /** * Opens an email template with the user's signature. * param templateType The type of template ("internal" or "external"). */ function openEmailTemplate(templateType) { var templateBody = templateType === "internal" ? "This is the internal email template." : "This is the external email template."; var subject = templateType === "internal" ? "Internal Client/Matter" : "External Client/Matter"; console.log("Opening email template..."); // Open a new email draft Office.context.mailbox.displayNewMessageForm({ subject: subject, htmlBody: templateBody, }); // Insert the user's signature after the draft is created Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, function (result) { console.log("Attempting to get user's signature..."); if (result.status === Office.AsyncResultStatus.Succeeded) { var userSignature = result.value || ""; console.log("User's signature retrieved: ", userSignature); // Combine the template body with the user's signature var combinedBody = templateBody + "<br/><br/>" + userSignature; console.log("Updating email body with template and signature..."); // Update the email body with the template and the user's signature Office.context.mailbox.item.body.setAsync(combinedBody, { coercionType: Office.CoercionType.Html, asyncContext: { value: "setBody" }, // Optional: track async operation }); } else { console.error("Failed to get user's signature:", result.error); } }); } //# sourceMappingURL=commands.js.map26Views0likes0CommentsMicrosoft 365 Developer Program - Subscription Issue
I deleted my profile more than 60 days ago. Today, when I tried to create a new developer subscription, it turned out that the old one is still in the system even though it should have been deleted. I want to remove the old one and create a new one.472Views0likes5CommentsFollow-up: Microsoft Word - Getting rid of unused fields in equations (small dotted squares)
Dear All, This is a follow-up from post https://techcommunity.microsoft.com/t5/microsoft-365/microsoft-word-getting-rid-of-unused-fields-in-equations-small/m-p/4269588#M54220 (which I believe is not seen anymore since a first solution was proposed)) Apparently due to an Apr 2024 bug in Word, "placeholder" boxes in Word equations are displaying when printed or converted to PDF when they did not used to. I'm trying to get a working macro to detect such empty fields and delete them (or at least, populate them with an empty space " " so that the small dotted squares don't show anymore). I'm trying to have a working macro, unfortunately without success yet. Equations are indeed detected, if I display them I see their fields (all in 1 MsgBox). Now, the eq itself will not be "empty", some of of the eq fields might be. I cannot find a way to go through each field of each equation, and then delete (or assign " ") to each empty field. Your opinion and help on this would be most welcome! Thank you! Sub SearchEmptyFields() Dim eq As OMath 'Trying to define a range to go through eq fields Dim r As Range For Each eq In ActiveDocument.OMaths 'This displays all fields of the current eq MsgBox ("Found: " & eq.Range.Text) 'Trying to get through each field of the current eq... without success 'For Each r In eq.Rang."element???" ' MsgBox ("Range: " & eq.Range.element.Text) ' Do a "delete" or put field value to " " 'Next r Exit Sub Next eq58Views0likes0CommentsAccessing Microsoft 365 E5 Sandbox in the Developer Program (Constco)
Hello Microsoft Tech Community, I'm encountering difficulties accessing the E5 sandbox in the Microsoft 365 Developer Program using my personal account. Although I've successfully accessed Azure Free Tier and other free services which have expired (not sure if related but included relevant information?), I can't seem to activate or access the E5 sandbox that I've seen other developers use to access theConstco Tenant. Steps I've Taken: Completed the initial setup for the Developer Program. Searched for specific guidance on accessing the E5 sandbox with a personal account in official documentation, community posts, and YouTube. Tried signing up with different Microsoft accounts, each with a separate phone number, but faced the same access issues. Questions: What are the exact steps needed to access the E5 sandbox in the Developer Program? Are there any specific requirements or limitations for personal accounts that might affect access? Whom can I contact within Microsoft for direct assistance with this issue? I appreciate any advice or resources you can provide to help clarify these issues. Thank you in advance for your support! Edit: Apparently this information is probably why I cannot gain access:https://devblogs.microsoft.com/microsoft365dev/stay-ahead-of-the-game-with-the-latest-updates-to-the-microsoft-365-developer-program/ I am wondering if anyone else has had this issue or was able to successfully gain access. Thanks!Solved309Views0likes2CommentsCustom Forms do not sync in Outlook with O365
Hello, In my company, we use the Developer Tool to create custom forms for Contacts and Tasks, which generate new pages in the contact items within Outlook. We use these custom fields to keep our contacts updated, filter them, and perform various other tasks. These items are saved in Outlook as IPM.Contact.[custom_name] in the "Custom Forms Library" folder. The issue we're encountering is that, although our contacts are stored in our contact list, when they call us through Teams, the contacts do not synchronize, so we are unable to identify the caller. Additionally, when we use Outlook Web, we cannot see any contacts that were not created using the default Contact or Task items in Outlook. Any items created with the Developer Tool do not synchronize. We suspect that the problem might be related to one of the Exchange connectors, which could be configured to only synchronize contacts that use the default M365 form. However, we are unsure how to modify this setting. Thank you!192Views0likes0CommentsData Retention information for Microsoft O365 Message Trace
The REST API I am currently using for O365 Message Trace for my integration is:https://reports.office365.com/ecp/reportingwebservice/reporting.svc/MessageTrace[?ODATAoptions] While exploring the API, I found that the API is returning the data from past 10days to the max. Exceeding this, it is giving me server error with 500 response code. Is there is any possible way to obtain the data more than this range, as mentioned that the data retention is 30 days according to:https://learn.microsoft.com/en-us/previous-versions/office/developer/o365-enterprise-developers/jj984335(v=office.15)#data-granularity-persistence-and-availability364Views0likes1CommentSystem.InvalidCastException: The COM object of the type “Outlook.ApplicationClass” cannot be convert
Hello everyone, We have an Outlook addon that communicates with our application. Our application used to be 32 bit. However, we changed it to 64 bit. We use the Microsoft.Office.Interop.Outlook DLL to create emails, appointments and so on. Recently we have been having problems with creating objects and unfortunately we do not know what exactly the problem is. We always get an exception like this: System.InvalidCastException: Das COM-Objekt des Typs "Outlook.ApplicationClass" kann nicht in den Schnittstellentyp "Outlook._Application" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Element nicht gefunden. (Ausnahme von HRESULT: 0x8002802B (TYPE_E_ELEMENTNOTFOUND)). bei System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) bei Outlook.ApplicationClass.GetNamespace(String Type) or System.InvalidCastException: Das COM-Objekt des Typs "Microsoft.Office.Interop.Outlook.ApplicationClass" kann nicht in den Schnittstellentyp "Microsoft.Office.Interop.Outlook._Application" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063001-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Fehler beim Laden der Typbibliothek/DLL. (Ausnahme von HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)). bei System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease) bei Microsoft.Office.Interop.Outlook.ApplicationClass.get_Session() The only solutions we found online were to repair Office, which we and our customers did. Unfortunately, it only works for a few days or weeks and then the problem reappears. We tried to reproduce the problem with a powershell script and we could. This is the script: $Outlook = New-Object -ComObject Outlook.Application $Mail = $Outlook.CreateItem(0) # 0 steht für MailItem $Mail.Subject = "Test E-Mail von PowerShell" $Mail.Body = "Dies ist eine Test-E-Mail, die mit PowerShell erstellt wurde." $Mail.Display() Write-Host "Das E-Mail-Fenster wurde angezeigt." [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Mail) | Out-Null [System.Runtime.Interopservices.Marshal]::ReleaseComObject($Outlook) | Out-Null What is the problem? Could the problem be related to Windows group policies? If so, which ones? We have a lot of customers that have this problem so we need help asp. Thanks and best regards967Views0likes1CommentDeeplinking to an msteams app inside outlook
We recently upgraded our teams app to the new manifest and it's now available inside Outlook. I can't find any documentation on deeplinking to the app in Outlook like you can inside teams. Is this kind of functionality available in Outlook?272Views0likes1Comment