I am attempting to develop a web interface using PHP which would allow any authorised user (specifically from the HR department) to update the Automatic Reply (Out of Office) of any active Exchange user/mailbox. I have successfully connected to the Exchange Web Services (Office 365) using php-ews (https://github.com/jamesiarmes/php-ews) and retrieved user mailbox configuration. However, I am unable to locate anything concerning Automatic Replies (Out of Office). Is there anyone who could provide examples or guidance on how this can be achieved?
You will need to use the GetUserOofSettings https://msdn.microsoft.com/en-us/library/office/aa563465(v=exchg.150).aspx and SetUserOofSettings https://msdn.microsoft.com/en-us/library/office/aa580294(v=exchg.150).aspx to do that in EWS. You will also need to use Impersonation to have the specific rights to do that make those changes https://msdn.microsoft.com/en-us/library/office/dn722377(v=exchg.150).aspx.
If your using Office365 your other option is you can use the Graph API to also do the same thing https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_get_mailboxsettings which gets around any security hassles that EWS Impersonation might cause.
Related
I've already setup a global google drive in my project where everyone is getting files from one google drive for which i had to setup keys in google console.
Now it is required to allow users to connect their own google drives. I just want it to be simpler so users do not have to do all the process on google console to get their keys to set it up.
Any guidance from seniors is much apprecaited.
I’d recommend starting by reading about how account authentication works using Google APIs client for PHP.
Given your issue description, I believe you can achieve the desired behavior by using a Service Account.
Quoting the article above:
Google APIs such as the Prediction API and Google Cloud Storage can act on behalf of your application without accessing user information. In these situations your application needs to prove its own identity to the API, but no user consent is necessary. Similarly, in enterprise scenarios, your application can request delegated access to some resources.
In case you do need to access sensitive user information from you application in a Workspace environment, then I’d recommend having a look into Domain-wide delegation.
In this section of the github repo readme, you can find an example on how to authenticate with Google backend using a service account credentials via the client.
On additional note, I’d also recommend adhering to the How to Ask guidelines in order for your questions to be properly answered by the community. If you could also provide a minimal reproducible scenario as well as the code used and which difficulties you had with it would greatly help and improve your chances to get a meaningful answer in the future.
I have an existing web application which is used for HR, managing tasks, sending forms and so on.
My client wants me to integrate Microsoft's multi-factor authentication when signing resources, forms and other stuff.
For now, the signing process is just a token that is generated and sent by email, so the users have to click a link to sign it. My goal here is to give users the possibility to also choose to sign whatever they're signing with multi-factor authentication through their own Microsoft account.
The only thing I've done so far is managing to log in and authorize with the Microsoft Graph API and get Calendar events and other stuff from the user.
Of course, I've googled a lot - but I haven't found the right documentation for my use case. So I need someone to pin point me to the right documentation for my use case. Can anyone help me with that?
Based on my investigation on this issue, I have not seen a direct way of signing files and other resources as well as enabling MFA via the Graph API. I however saw a feature request related to enabling MFA via a Graph API call here. Please consider upvoting it
Linkedin has a feature that allows users to enter their outlook credentials and imports their outlook contacts.
I am trying to emulate this functionality, in a php application.
So far, the only way I have discovered on how this might be done is through Exchange web Services. https://emailhost/EWS/Services.wsdl I am using the php-ews library to try and connect to ews.
I was hoping for some sort of information on a defacto way to retrieve contacts given a users credentials, but have been unable to find much information on this at all.
Are there any other ways that this could be accomplished other than EWS? Does anyone know how linkedin is doing this?
Given that this feature works for a random end user, I don't think LinkedIn connects to Exchange (through EWS or any other API), but to the Outlook instance on the users' machine.
Accessing Outlook objects on a local machine can be done in any programming language through old-fashioned OLE automation. This will also let LinkedIn retrieve contacts for accounts connected to other servers, like e.g. Lotus Notes. (Although I cannot confirm that LI actually does that).
I am new to OpenID and have been requested to build a login system to work with the company's Google account. They want to restrict logins to users of their domain. They login into Gmail using their domain and they want this feature to allow access to their systems.
Let's say the domain is example.com. They would log into Gmail as user#example.com or go to their domain login page to access their accounts.
I have been doing some research and it seems that the Google Federated Login is what I should be working with. I downloaded the Google APIs Client Library for PHP and have been playing with the examples but I still cannot get it to restrict access to whom logs in. Currently anyone with a google account seems to be able to login. Also, the API wants to access certain information... I only want to authenticate the user to ensure they are a valid user of the domain and eventually allow SpreadSheet Access in Google Docs so that another script (in the same system) can create SpreadSheets while the user is updating the system.
So my questions are:
1) Which service do I need to enable in the Google API console? Enterprise License Manager API is the only service that is enabled.... I'm starting to think maybe I should disable it.. Do any services have to be enabled? I'm not really sure about this.
2) Is there anything special about the PHP Google APIs that would require me to use Google's API or is this functionality available with any OpenID library? If the latter, which libraries are good for what I am trying to accomplish? (PHP)
3) I have found a few examples for allowing login with a Google account but I haven't found a single one for restricting it to a single domain. I am sure this is possible but am starting to feel that it's very difficult to implement... Any information on this would be very beneficial.
Thanks for any information you can toss my way.
I am implemented In App Billing for android.I wanted to implement subscription validity checking through my backend server. As Google Play Documentation, for making call for Google Play API,need authentication using oauth 2.0.
I followed instructions for registering project and creating credentials. But from there I have no idea how to use those credentials, I tried authentication via CURL request, but it asking permission as shown in follwing image
This permissions works fine I can exchange code and get access token, but all this done by manually, how should I implement this on backend.
I even try to use google api php library provided by Google, but It adds confusion. Also they didn't provide any example, how to use library.
Can anybody elaborate how exactly use library or pure php?
Thanks in advance.
To perform LVL and/or IAB validation on a server, do not access Google servers directly from the server. Even if all information were available, you would face integrity problems, because your app and your server will see different information due to synchronization latencies.
Instead, use your app as a proxy and validate the Google Play information on your server as described here.