I am working on an application. We have successfully implemented "Google.Apis.Calendar.v3". Events are created and showing in calendar. But while creating the event I want to add functionality to auto create hangout link which i can use and send to customers. I want to ask is it possible to do it through "Google.Apis.Calendar.v3.Data". If yes, how I can implement. I will really appreciate your help.
Regards,
When making the request to create the event using insert or modifying an event using patch, you simply need to:
Set the conferenceDataVersion parameter equal one (1).
In the body add the option to "createRequest" and a "requestId" in the body as part of the "conferenceData" option like:
{
"end": {
"dateTime": "2020-07-29T09:00:00-07:00",
"timeZone": "America/Los_Angeles"
},
"start": {
"dateTime": "2020-07-28T09:00:00-07:00",
"timeZone": "America/Los_Angeles"
},
"conferenceData": {
"createRequest": {
"requestId": "<for-you-to-decide>"
}
}
}
Note:
Keep in mind the conferences are created asynchronously, but you can always check the status of your request to let your users know what’s happening. The immediate response to this call might not yet contain the fully-populated conferenceData which is indicated by status pending.
You can read about it here or in the Documentation
Related
I'm sure this is a silly question, but I don't claim to be a developer, just someone with a wide ranging job description 😊
I am following this guide: https://www.twilio.com/blog/forward-voicemail-recordings-to-email
The transcription callback is firing correctly and sending me the email. That's great.
I'm looking to expand this to collect additional information fields through Gather widgets. I have the following being sent to my function:
{
"flow": {
"flow_sid": "FW07e11311d367...f8a0501c05e5108",
"variables": {
"CallerName": "Joe Bloggs"
},
"channel": {
"address": "+441...147"
},
"sid": "FN866c64beb9...f5bf349fa19ad3"
},
"widgets": {
"SetCallerNameVar": {
"CallerName": "Joe Bloggs"
},
"GatherVoicemail": {
"Called": "+4414....7",
"Digits": "#",
"RecordingUrl": "https://api.twilio.com/2010-04-01/Accounts/AC5fa2...12c7/Recordings/RE3a1d420de6db...2abb554c04f6",
"CallerCountry": "GB",
"Direction": "inbound",
[...]
I access the other (working) information through the ${event.variable} syntax. However, simply doing ${event.CallerName} results in "undefined". Can anyone advise how to access the CallerName variable that I have set in my flow?
If I was calling the function rather than using a transcription callback, it would be easy to pass the parameter, but doing so would result in duplicate emails per call.
I hope this makes sense and appreciate any advice.
Thank you
Twilio developer evangelist here.
The issue here is that your transcription callback does not have the same context as the Studio Flow, so does not come with all the other data. You can, however, add that context to the request by setting query parameters on the transcription callback URL.
Try setting your transcription callback URL to:
https://your-function-service.twil.io/?CallerName={{flow.variables.CallerName}}
You will then receive the CallerName in the event object.
Just to note, the Transcription Callback URL field does not highlight the liquid variable, but it does get interpolated. There is now an open issue to add the highlighting to this field.
When I am doing a POST to me/calendars/[calendar-id]/events with the following payload. It successfully creates the event, and I receive the new event's id:
{
"start": {
"timeZone": "America/Chicago",
"dateTime": "2022-12-23T15:00:00"
},
"end": {
"timeZone": "America/Chicago",
"dateTime": "2022-12-23T18:00:00"
},
"subject": "Please don't delete me!",
"body": {
"contentType": "text",
"content": "I'm just an event in the future, I wonder if I'll send a '#removed' notice?"
}
"isCancelled": false,
"type": "singleInstance"
}
But shortly after that, my webhook is getting hit with this information for that event, indicating that it was just removed:
{
"#odata.type": "#microsoft.graph.event"
"id": [that-event-id]
"#removed": {
"reason": "deleted"
}
}
When I go and look on my Outlook calendar, the event still seems to be present, and if I GET it, isCancelled is false.
This is only happening for events created over a year ago, or two years in the future.
Having been plagued by this same issue for about a month ourselves, I think I was finally able to track this down yesterday.
We use the events delta API instead of the webhook API, but apparently the same bug affects both... Someone at Microsoft really needs to fix this, it's insane.
Answer
Changes to events outside of the startDateTime..endDateTime window initially set on the events delta request always show up as a #removed delta.
More details
The events delta API captures the initial startDateTime..endDateTime window, which is then used for all subsequent calls with a $deltatoken. This will also bite you unexpectedly if your delta query uses $select etc. as changes to it will not apply until you create a new delta (by not passing an initial $deltatoken)
This detail is what led us to setting up a bit of a timebomb for ourselves. We had an initial window that was somewhat wide, but suddenly started receiving widespread reports of events showing as cancelled that definitely have not been removed from calendars.
This is a bug
Please, someone from Microsoft acknowledge that this is a real issue. Change made outside the discretely specified time window should NOT affect it, this makes it difficult to build integrations that we trust.
This only happens to events created over a year ago or two years in the future.
I’m guessing it has something todo with retention policies defined by your organization.
https://learn.microsoft.com/en-us/microsoft-365/compliance/create-retention-policies
With retention policies you can define how long specific items should be kept before being auto removed.
This can also happen if you end up using the wrong $deltatoken too.
Trying to develop a Microsoft Graph based application. Trying to set OOF (Out of Office) messages using Delegated permission. I made sure that i have MailboxSettings.ReadWrite permission set. I tried calling PATCH, but it doesnt give any errors and also it's not updating the OOF update request in mailbox settings as well. Any pointers/sample would be of help.
I tried the below payload with MS Graph explorer & POSTMAN - it works for me!!
PATCH https://graph.microsoft.com/v1.0/me/mailboxSettings
Content-Type: application/json
{
"#odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/mailboxSettings",
"automaticRepliesSetting": {
"status": "Scheduled",
"scheduledStartDateTime": {
"dateTime": "2020-03-20T18:00:00.0000000",
"timeZone": "UTC"
},
"scheduledEndDateTime": {
"dateTime": "2020-03-28T18:00:00.0000000",
"timeZone": "UTC"
}
}
}
You can refer the documentation as well.
I am working on an application in asp.net core. I want to add additional functionality for hangout. I want to ask is it possible to create hangout invite links in my asp.net application.
I have a scenario where I want to create hangout link and send the link to the client and book a digital meeting. Any suggestion?
As I mentioned in the comments, you can generate a Meet link with the Calendar API. To do so, create an Event with the following parameter and body:
conferenceDataVersion: 1
Request body:
{
"end": {
"date": "2020-07-08"
},
"start": {
"date": "2020-07-07"
},
"conferenceData": {
"createRequest": {
"requestId": "hangoutsMeet"
}
}
}
The insert API call will return, along with other fields, the hangoutLink parameter, which is ready to use in-browser:
"hangoutLink": "https://meet.google.com/id-of-the-meet",
References:
Resource representations
Insert event
Hope this helps!
I'm currently developing a small managing app that should create events within a specific Microsoft calendar but I'm only able to do this for me as the authorized user.
Is there an option to create events for everyone in this calendar with only knowing the userPrincipalName?
{
"subject": "test",
"body": {
"contentType": "HTML",
"content": "Sample Text"
},
"start": {
"dateTime": "2019-04-04T12:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-04-04T14:00:00",
"timeZone": "Pacific Standard Time"
},
"location":{
"displayName":"Testlocation"
}
}
https://graph.microsoft.com/v1.0/users/myPricipalName/calendar/events works but only for me.
The whole documentation is a bit overwhelming
The answer is yes, but you're right about the documentation...
You'll have to take the following steps:
Create an application documentation
Add the following permission Read and write calendars in all mailboxes for the Microsoft Graph API.
Grant the permission for your tenant (the easiest way is through https://portal.azure.com -> Azure AD -> App Registrations -> Your App -> Settings -> Required permissions -> Button Grant Access.
Request a token with the client id and secret, this is called the Client credentials flow documentation
(optional) Inspect the token on https://jwt.ms to see if the token is correct.
Create an event documentation
Celebrate your accomplishment with some refreshments.
The best approach would be to get an application token, an application which has been granted permission to write users’ calendars.