ColdFusion Office 365 Exchange distribution group access? - coldfusion

I am currently using cfexchangeConnection in order to connect to our outlook.office365.com connection.
My goal is to connect a user, find out what distribution group they are in (e.g., Staff, Members, Clerks, ...), and then send them to the appropriate web page, depending on their group.
I've looked at and played around with cfexchangeContact, but the best I could come up with is a list of that person's contacts.
We have a 'global' address book throughout our company, but I have no idea how to access it.
Edit:
The code I use to contact Exchange is as follows:
<cfexchangeConnection action="open"
username ="#username#"
password="#password#"
server="outlook.office365.com"
protocol="https"
connection="myConnection"
serverversion="2010">
I used the following code to try get access to the distribution groups, through the global address book with this code:
<cfexchangecontact required action = "get"
name = "query identifier"
optional connection = "connection ID">
Alas, this only gets me the contacts, not the address book.
What I would like to get as a result, is whether the person who authenticated through the cfexchangeConnection tag, is a member of one of our distribution groups/global address book group. So far I am thinking of adding another Exchange member, adding the distribution group as a contact, and then using the cfexchangeContact tag to see whether they are in the contact list of this new Exchange member.

Related

How to add external email addresses to AWS WorkMail Group?

I can create a group on the Amazon WorkMail console and add internal users to the group. However, I do not see an option to add external email addresses with different domains.
Any tips on how to do this? Should I just create an email forwarding rule on an internal user?
Unfortunately, at present, this isn't possible (more info below). So, your proposed solution of creating an email forwarding rule is likely the best solution.
One thing to note is that you may want to set up email redirect rather than email forwarding. If you redirect, the end recipient will see the email as coming from the original sender and addressed to the original recipient, as opposed to being forwarded. In WorkMail, you'll find redirect as one of the options, alongside forwarding, when setting up the rule(s).
One additional tip for setting up the redirect/forwarding rule. There's no condition in the rules setup to just forward everything. Because of that, you'll likely want to create 2 rules. The first rule would use the condition has my name in the To box and the second rule would use the condition Does not have my name in the To box. This should have you covered for just redirecting/forwarding everything. Fortunately, you can redirect to multiple destinations, so you can probably get away with just these 2 rules even if you have multiple final destinations.
Additional info about not being able to add external addresses to groups:
An AWS team member has stated that this isn't currently supported in this AWS forum post from 2017:
Indeed, it not possible to add an external email address to a group. I will forward this feature request to the service team.
A possible workaround is to create a redirect rule that redirect emails sent to this group to the external users.
As of today, you still get the following message when adding members to a group (console screenshot):
You can only add users and groups that are enabled for access to Amazon WorkMail.
[Edit, 2021-01-17: Tips on bulk addition of email addresses to a rule]
Bulk addition of email addresses to a rule
Unfortunately, there don't currently appear to be any APIs to create inbox rules programmatically. However, you can copy-paste a large number of emails into a rule.
First, you'll want to export the set of email addresses you have into e.g. a CSV file.
Then, you'll want to append a ; to each email address. The reason for this is that the character is recognized as a separator. If we don't use it, the email rule will interpret the entire pasted text as a single email address. As an example, in Google Sheets, this can be done with CONCATENATE. E.g. =concatenate(A1,";"). Here's a screenshot:
Next, open the email rule, copy the email addresses from the spreadsheet, paste them into the recipients box, and click the To button. In this case, it's 100 emails, so it takes a little bit of time to load:
Once it finishes loading, you'll see checkboxes next to the email addresses, like when you add single email addresses manually.
Make sure to click Ok on the recipients dialog, then click Ok on the rule dialog, and finally click Save changes on the Email Rules Settings panel to ensure everything gets saved.

Identifier field are not included in Activities: list Meet report

Good day everyone,
was trying to use the Admin SDK Reports API to get info about Google Meet.
want to see who attended and how long does each person in the conference.
However, I cannot seem to get the email address of each attendee instead I only get the display name.
tried the fields option in API explorer to include the Identifier but got an error instead. Also, don't where or if there is a documentation about option Fields.
Please see attached image
If I set the fields empty I got a successful result but can't see the Identifier field which supposedly has the email address of the attendee.
My goal is to have this displayed in the result
Hopely got the answer right,
Thank you
The documentation specifies:
identifier_type
email_address
The participant's email address for in-domain participants.
This means that you are not allowed to see the emails of domain-external participants.
I assume it is implemented this way for safety reasons.

Google Directory API : manage invitation and request to join

Is there an API that lets an application send invitations and requests to join a group?
I have checked the Google Directory API at https://developers.google.com/admin-sdk/directory/v1/reference/, but all I can find is the members API that lets an application directly add members.
What I am looking for is :
- to send a request to join a group,
- to list, accept or reject such requests,
- to send an invitation to join a group,
- to list, accept or reject such invitation.
I had no luck checking the reference, a google search and a search on stack overflow also turned out nothing. Does anyone know if such an API even exist, and if so, where can I find the documentation?
Currently there seems to be no ad-hoc API method for that. The currently supported group operations can be found in Directory API: Group Members namely: add member, update group membership, retrieve a group member, retrieve all group member and delete member. You'd have to implement the other functionalities you mentioned.

Google Analytics not filtering internal traffic

I know there have been similar questions in the past but I have tried many solutions given online to no avail. I am just not able to hide internal traffic for Google Analytics on my Django site.
I am setting the filter from Admin->View->Filters. Have tried Predefined and Custom both with fixed IP as well as a regex pattern. (Yes, I have double checked my IP from whatismyip.com and I am using the right one)
I read somewhere that it takes time for the filters to come into effect, so even waited for 24 hours but I still see a lot of internal traffic.
Google Tag Assistant is also tracking the pages when I access them from internal IP (not sure if its supposed to know about the filters)
Not sure where could I be going wrong.
(I am using reverse proxy but hopefully that wouldn't change anything since the google analytics code is run on the client side)
Do not use any filter on the default view (called 'All Website Data'). Create a separate view and then create a filter on it. That will work.
(After struggling with it for a few days, this response helped me with the above fix)
I struggled with this as well, so here is what I found out.
Note that real time reporting can take up to 2hrs to catch up to and reflect analytics configuration changes such as the addition of filters.
Possible solutions
1) As suggested in the other answer, leave the default view as default and create an additional view for the filters:
The default view collects
all traffic. You need to create a new view for which you can apply
your filter. Check out item 3 here
https://support.google.com/analytics/answer/1009618?hl=en
How to add
a new view: https://support.google.com/analytics/answer/1009714?hl=en
2) Filter IP v6, not v4:
Exclude the ipv6 address as mentioned in above post. This is the one
that "what is my ip address" returns. It's not the ipv4 syntax
(xxx.xxx.xxx.xxx) However, I have noticed that wired machines that
stay connected seem to keep the same ipv6 IP (the 31 digit sequence),
however wireless accounts (mobile phones, tablets) tend to be dynamic.
However, as posted above if you use just the first 15 digits of the
sequence and use the "begins with" filter type, it will block
the devices using the same shared router (ie. internet router in your
home)
About filtering only the first 15 digits:
I think it is meant to filter the first four blocks, so if your IPv6 looks like 2601:191:c001:2f9:5c5a:1c20:61b6:675a, then filter IP that begins with 2601:191:c001:2f9:.
Information found here.

Get Domain user membership for local group

I have a local group on my computer Grp1 to which I want to check membership of domain users. I have already used NetUserGetLocalGroups for this. But the problem I encounter is when the domain user is not a direct member of the group Grp1. For example, let's say there are two domain groups say DomainGrp1 and DomainGrp2. Now, my user DomainUser1 is part of group DomainGrp2 and the DomainGrp2 is part of DomainGrp1 and the group DomainGrp1 is part of the local group Grp1. If I use this NetUserGetLocalGroups in the aforementioned scenario, the API doesn't enumerate Grp1 for DomainUser1 but in actual the DomainUser1 is part of the Grp1 indirectly.
Also please note that if the DomainUser1 is directly member of DomainGrp1 instead of DomainGrp2 (with the DomainGrp1 be the member of Grp1). The API enumerates the Grp1 perfectly. Could somebody help me with this problem?
I have tried impersonation using LogonUser API. But the problem I have is when the user is marked for changing password at next log on. Then the API returns false and hence I cannot get the impersonation token.
PS: I don't want to use any Directory Services API.
I could find similar problem on MSDN link