Changing Google Calendar Visibility Based On Organizational Unit - google-api

Google Support Docs referred me to it's api, but that's it. Still new at Google API so any help is appreciated.
This is the situation I desire for my Organizational Units:
OU A: Can see Calendar Event info for all internal calendars. (Can set in the Admin Console)
OU B: Can only see Calendar Event info the user is a guest in. (Can't set in the Admin Console)
To clarify with an argument for OU B: Unless user is a guest of an Event, Show all events as "Busy"
Thank you!

Related

Google play READ_CALL_LOG permission

Reading call log is the basic feature of my app, but i dont know which option to select among the following in the list in the declaration form.
Default SMS handler
Default Phone handler
Default Assistant handler
Transactional backup and restore for users and archive for enterprise (time-limited/non-continuous)
Enterprise archive, CRM, and device management
Caller ID, spam detection, and blocking
Connected device companion apps (for example, smartwatch or automotive)
Cross-device synchronization or transfer of SMS or calls
SMS-based financial transactions and related activity where access is restricted to financial SMS transactions (for example, 5-digit messages)
SMS based money management
Proxy calls
Services - Carrier
Services - OEM
Device Automation
Physical safety / emergency alert apps (e.g., senior safety)
Call-based OTP account verification
Using SMS_CB_RECEIVED for customer communications (e.g., Smart Zone Cast service)
Write and Show Call History in Dialer
In-vehicle hands-free use or projected display
Anti-SMS Phishing
Since its only write and show call history in dialer option thats close to my requirement, i selected this, but now i got thefollowing email from google.
Google Play
Developer update
Hi Developers at Bot Entity, Thanks for contacting the Google Play
team about your app Whatsupp Direct, com.whatsappdirect.wd. Publishing
Status Publishing status: Rejected After review, your app has been
rejected and wasn't published due to a policy violation. If you
submitted an update, the previous version of your app is still
available on Google Play. Issue: Violation of Permissions policy After
reviewing your app, we found that it doesn’t qualify to use the
requested permissions for the following reason(s): App is using
unnecessary permissions When you submitted your app, you specified
your app's core functionality as follows: Write and Show Call History
in Dialer. However, based on the permitted uses, your app is only
allowed to access the following permissions: WRITE_CALL_LOG. Please
remove the following permission(s) from your app: READ_CALL_LOG.
now how do i get READ_CALL_LOG in the list??

Outlook / Exchange API (Microsoft Graph?)

I am making a quick program that can check another users Outlook calendar and book an appointment. The booking part is fine, but I am looking at a way to return other users calendar information, without having to link a calendar to Outlook first.
I was thinking that there would be an API or a way to access this information either via 365 or the exchange server. There is this (https://learn.microsoft.com/en-us/previous-versions/office/office-365-api/?redirectedfrom=MSDN#Getevents) but it doesn't seem to do what I am after and is also deprecated with an end date within a year
I have read about Microsoft Graph but in reading it refers to 'users calendar', can this do calendars for a specific user that isn't me?
GET /me/calendar/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
If so, does anyone know how?
Thank you
You can access user's calendar by calling the following endpoint
GET /users/{id | userPrincipalName}/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}
Resource:
List calendarView

How do I get the memberships (distribution groups) of an Outlook contact programmatically?

Using office Outlook, we can find the 'Memberships' tab when we click and expand a contact, this 'Memberships' tab shows the list of emails that the user is subscribed to.
For example, Employee X (x.x#zcompany.com / id123#zcompany.com) under the Data Department of Z Company is subscribed to the following distribution groups:
datateam#zcompany.com
allemployeees#zcompany.com
dataweekly#zcompany.com
it.uk#zcompany.com
znewsletter#zcompany.com
I would like to get the list of emails the user is subscribed to by inputting either the user's email or user's organization ID.
I found a few potential solutions but do not know exactly how to implement them:
Outlook Interop GetMemberOfList() and GetExchangeDistributionList()
Using Microsoft Graph API
VBA automation for Outlook
Reverse engineering using ExchangePowershell
Using RPA to imitate user actions on Outlook
Wonder if someone with experience doing this can provide some advice? Thanks in advance.
In OOM, call Application.Session.CreateRecipient, Recipient.Resolve, Recipient.AddressEntry.GetExchangeUser(). ExchangeUser exposes GetMemberOfList() method, which returns IAddressEntries object.

Edit Google Calendar "From" and "Organizer"

I want to create event via google calendar api using Go. I found out that the sender (From) is whoever responsible in client_id I provide in the google API, in this case me. Can I edit this sender, so that it is not sent from me? At least I can edit the display name of the sender, the email I think will always be my email
Also about editing the organizer, I tried to use move action but it only moves the event, not change the organizer. Is there other way to edit organizer?
To address your questions:
1. Can I create an event from another address?
What you want can be done by creating a service account and performing domain-wide-delegation
What is a service account?
A service account is a special type of Google account intended to represent a non-human user that needs to authenticate and be authorized to access data in Google APIs - in your situation the Calendar API.
After creating the above mentioned service account, you will have to perform domain-wide-delegation and impersonate a user in your domain in order to be able to create the event wanted.
Now, when writing the code for your application, you will have the use the credentials that were created for this account in order to authorize the requests.
OR
If you want to specifically edit only the display name of the creator of the event, you can perform an update request:
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
And add in the request body this:
"creator": {
"displayName": "UPDATED DISPLAY NAME"
}
2. Can I edit the organizer?
According to the Calendar API Documentation:
organizer > The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in attendees with the organizer field set to True. To change the organizer, use the move operation. Read-only, except when importing an event.
Therefore, the organizer can be changed/updated only when importing the event in question.
Reference
Authorizing Requests to the Google Calendar API
;
Creating A Service Account;
Calendar API Events Resource;
Calendar API Events:Update.

Setup alert in LUIS (Azure Cognitive Service) to track user activity

I want to know there's some way I can set up an email alert on the LUIS port if any users are changing established intent and utterances.
I need this feature because many users are able to access/edit my LUIS app using the company's single-sign-on, so I want to set up an alert on the portal if any user add/edit intent is in the current app, then I will get an email alert.
Please suggest ways that I can do this.
Nicholas is correct. Your users should NOT have access to your app.
There is nothing in the LUIS app on LUIS.ai that will send an email or notification any time the app is changed, because the only people who should have access to it are the developers.
You need to request from your admin to ensure you and any devs on your bot are the only contributers to your LUIS app.
https://learn.microsoft.com/en-us/azure/cognitive-services/luis/luis-concept-keys

Resources