Microsoft Graph: Get calendar info within the events - events

I'm fetching events from the Microsoft Graph API: https://graph.microsoft.com/v1.0/me/events/.
But the event object doesn't include any information about the calendar where it came from, where it belongs.
{
"#odata.etag": "W/\"VdMXVdJPi0Svr+Ahlbtc8WAAF++CrQ==\"",
"id": "AQMkADAwATM0MDAAMS6wZmQ0LTZkNjItMDACLTAwCgBGAAADJYZccw8wNUCHxKfq_uQ8CQcAVdMXVdJPi0SvrwDgIZW7XPMAAAIBDQAAAFXTF1XST4tEr68A4CGVu1zzAAAAF-EXzwAAAA==",
"subject": "test event title"
}
Is there any way to get the Id of the calendar in the event object?
Thanks

Yep, the event object has a navigation property called calendar which shows the calendar that contains the event:
https://graph.microsoft.com/v1.0/me/events/{eventid}/calendar

Is not possible to include the Calendar object inside the Event.
Microsoft Graph has the query parameter $expand that we can use to include navigation/reference properties in the object. But in the version 1.0 of the API this parameter is not fully supported and even in the version beta, the Calendar object is still not supported.
Hope that Microsft adds this support, the $expand parameter for the Calendar property in the Event object.

Related

Automatic display of records in Dynamics

So i am trying to retrieve records from the database when an info is typed into a field e.g Sprint is entered into "Company name" field , how can i capture the contents of that field, retrieve it's records from the database and use it to fill the remaining parts of the form.
This is my first time using dynamics CRM, would like it if someone can help me out or point me in the right direction.
Dynamics crm has provided on change event of a field here
Attribute OnChange Event (Client API reference) you can find info about it.
How to write client side scripting in Dynmaics crm
Steps I would perform:
Add onchange event for field on which you want it to fire.
Then I would add javascript for the onchange of field
In that Javascript I will use Dynamics crm Webapi to retrieve data from Account Xrm.WebApi (Client API reference)
Once I get the data I would set that in those field where needed on from setValue (Client API reference)
You will find numerous example of how to create a Javascript for Dynamics CRM
CRM also has what is known as a Quick View Card which can retrieve values from the source record (for display only).
For example, when you select "Sprint" as the Company Name, you can use a Quick View Card to display information about the "Sprint" account record.
Here's the MSDN Link
A quick view control on a custom business app form displays data from a record that is selected in a lookup on the form. The data displayed in the control is defined using a quick view form. The data displayed is not editable, but when the primary field is included in the quick view form, it becomes a link to open the related record
This is a code-free alternative to the answer described below, so the advantage is that it is easier to maintain. The data is also "live" meaning that if you update a phone number on the "Sprint" account the update will appear on all quick view forms (after a refresh)
The disadvantage is that this is not a copy of the data, so may be a problem for future reporting. If you need a point-in-time capture of the data, this can also be a problem.

What is difference between OnChange and AddOnChange in Dynamics CRM

In CRM 2011, i wrote a function in js and attached that function to OnChange event of a field. When the value changed in LookUpField1, it should update value of another LookUpField2 but it is only updating after saving and loading the form.
Where as if i use addonChange and firing the function, LookUpField2 value is automatically updating when LookUpField1 is changed.
Why is it working with addonChange and not OnChange event of attr?
Apart from programmatically firing a function using addonChange, are there any instances where we need to use addonchange?
I hope i make sense ;) & Thanks in advance!!!
OnChange is the event. addOnChange is the way to add a handler Here's what the documentation says:
OnChange Event
Use the addOnChange, removeOnChange, and fireOnChange
methods and to manage event handlers for the OnChange event.
Please see the following link:
https://msdn.microsoft.com/en-us/library/gg334409(v=crm.5).aspx

Google Calendar API Event Free/Busy/Blocking Data

I've been working with the Google Calendar API and am trying to figure out how to tell if an event a calendar should be considered an event that blocks time. For example, "Columbus Day" is an all day event (holiday) for many people in the US that has no effect on their workday, yet appears on a calendar. I've read in other places that the way to tell if an event is blocking on a calendar is by using its transparency field per This Post. However, when I play with my calendar events and toggle them back and forth, the event itself always remains "transparent" on the calendar.
My question is this: Is there a way to tell if an event blocks time on a calendar by looking at the event resource, or is this information something that should be derived from a free/busy query?
So as it turns out, when using the Ruby Google API Client, the transparency field is only included in the event resource when the event is marked "available" by the user. The default value is "opaque" according to the documentation. Presumably, when the transparency field is not present in the event resource, then the event should be considered "opaque" or "blocking" on the calendar. In the resulting request body in the API client, this should yield a nil value instead of a "transparent" value. Not the cleanest thing around, but I think it works.

Outlook : How to get reference of (EntryID, optional & required attendee) newly added item in Appointment.Write event handler

I want to capture the information of new created appointment item, For that I hook the event with NewInstpector window & again hook the Write event. I am also using standard outlook item wrapper(from msdn).
The problem is inside the Item_Write event handler I get the reference of new item however some properties are coming as NULL. For e.g. EntryID, Optional attendees.
The value for EntryID might be null because item is not yet witten on the exchange server, so the question is how to capture the EntryID of newly created appiointment item
Atul Sureka
EntryID is not set until the item is saved or sent, because it isn't added to the store otherwise.
You will need to do either of those things before you can read the entry ID.

Customizing Outlook and Exchange to add new fields to meetings + querying from Exchange from custom app, is this possible?

Is it possible to customize the window used in Outlook to type in meetings (calendar tab) to add new fields to it ?
That data would be stored in Exchange, then queried by another app that would do something with it.
My problem is to see how I could affect the meeting edit dialog as it is now, to add my new fields.
Any ideas ?
If all you want to do is add some fields to the BOTTOM of the Appointment item inspector, then you can do that very easily with VSTO. It's called a custom outlook form region.
See here: http://msdn.microsoft.com/en-us/library/bb157865.aspx
However, if you want to change elements in the base inspector form itself then that's much more difficult, and involves significantly more work. I don't have a complete answer for that.
You could do this pretty easily with custom forms.
Just derive from the "ipm.appointment" appointment form and add you fields and logic to validate and save those fields as user properties on the meeting item
You can then attach to exchange using RDO or OOM to call back the properties off the meeting items.
you can then publish the form to you whole organisation if you want and over righ the default with soem reg key changes.
or
you can do as above and create yourself an addin using vsto.

Resources