Developing Apps For Office
So – I’ve been playing a lot with Apps for Office lately. I even wrote and published an app:
https://office.microsoft.com/en-us/store/message-header-analyzer-WA104005406.aspx
My management encouraged me to put together a presentation on everything I learned while developing this app. I did, and they asked me to record a video of me delivering this presentation. So – now you all get to hear me drone on about App development. Here’s the entry on the Partner Technical Services blog containing my presentation:
And here’s the direct YouTube link:
Microsoft Office - Lessons Learned Developing Apps for the Office Store
and the direct link to the slide deck:
In case you don’t want to dig through the slide deck for the links I reference, here they all are:
Topic | Link |
---|---|
Getting Started | https://msdn.microsoft.com/en-us/library/fp179924.aspx |
Trusted Sites Workaround | https://*.sharepoint.com, and discussion: https://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/fa6abb31-7251-4744-ab14-634cde38a42d |
Office App Validation Policy | https://msdn.microsoft.com/en-us/library/office/apps/jj220035.aspx |
JQuery | https://jquery.com/ |
Mail App Permission Levels | https://msdn.microsoft.com/en-us/library/fp161087.aspx and https://msdn.microsoft.com/en-us/library/fp161047.aspx |
App Limitations | https://msdn.microsoft.com/en-us/library/fp142267.aspx |
Finally, my JQuery EWS parsing trick:
(function ($) {
$.fn.filterNode = function (name) {
return this.find('*').filter(function () {
return this.nodeName === name;
});
};
})(jQuery);
function callback(asyncResult) {
var response = $.parseXML(asyncResult.value);
var responseDOM = $(response);
var Prop = responseDOM.filterNode("t:InternetMessageHeaders")[0];
Enjoy!
Comments
Anonymous
March 20, 2013
Stupendous! Thanks for this Stephen!Anonymous
March 21, 2013
Thanks Stephen, this is great!Anonymous
May 02, 2013
Anybody remember that Message Header Analyzer App for Office I wrote about last month? Well, the folksAnonymous
February 10, 2014
I can't see a way to download it. Gives the message that I have to contact my Admin. I am the Admin!Anonymous
February 10, 2014
You're probably trying to download it as a user then. Go to the ECP and manage apps from there. You'll be able to install it for the org.Anonymous
February 27, 2014
I installed it on Ex2013SP1 on W2012R2. When opening I get "The remote server returned an error: (401) Unauthorized." Whats wrong?Anonymous
February 27, 2014
What did you install? Also - you can use IE's debugger tools to see exactly what URL is giving you the error. That'll help figure out what's going wrong.Anonymous
March 02, 2014
The comment has been removedAnonymous
March 02, 2014
That's the first report I've gotten of a 401. Could you use Fiddler or the F12 developer tools to find out what URL is giving you the 401?Anonymous
July 10, 2014
I guess its not supposed to work in Outlook???? Only Outlook Web?? Why is it "Restricted" Please how to make it work in desktop...Anonymous
July 10, 2014
Log into O365 Exchange admin Organization - Apps MessageHeaderAnalizer Click on the secret link bottom right - View more details about this app. This is the only link that works office.microsoft.com/.../message-header-analyzer-WA104005406.aspxAnonymous
May 04, 2015
Hi Steve, MHA does not work on items in public folders. In OWA I added a public folder to the favorites list, selected that folder, selected a message in that folder and clicked MHA. Orginal headers contains this: ...<m:GetItemResponseMessage ResponseClass="Error"><m:MessageText>Mit der Nebenstellennummer sollte nur auf das Act-As-Benutzerpostfach zugegriffen werden.</m:MessageText><m:ResponseCode>ErrorAccessDenied</m:ResponseCode><m:DescriptiveLinkKey>0</m:DescriptiveLinkKey><m:Items/></m:GetItemResponseMessage>... I hit the same error in a mail app I wrote and guess what: a customer of ours is only accessing relevant messages in a public folder. After migration from Exchange 2010 to 2013 a few weeks ago his OWA users are lost and quite unhappy with us :-( Do you have any information if and how mailbox.makeEwsRequestAsync can access items in a public folder - the user has at least read permissions in that folder. Thanks SvenAnonymous
May 04, 2015
The problem is the permissions we have for making EWS calls from the context of the app only allow us to access the user's own mailbox. As the PF is a different mailbox, we can't make the EWS call. I've let Exchange know about this.Anonymous
June 23, 2016
Would you mind to help me with the question I've posted on MSDN: https://social.msdn.microsoft.com/Forums/office/en-US/6a7417d1-8af8-453f-bce0-584b7f79b0c1/app-for-outlook-ews-request-failed-with-item-id-returned-by-itemsaveasync-on-compose-new-message?forum=appsforofficeAs far as I understand you would be the best in EWS world. Thanks.