File: outlook.rst

package info (click to toggle)
python-requests-oauthlib 1.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 472 kB
  • sloc: python: 2,000; makefile: 159
file content (38 lines) | stat: -rw-r--r-- 1,987 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Outlook Calendar OAuth 2 Tutorial
=================================

Create a new web application client in the `Microsoft Application Registration Portal`_ (a login is required)
When you have obtained a ``client_id``, ``client_secret`` and registered
a callback URL then you can try out the command line interactive example below.

.. _`Outlook App console`: https://apps.dev.microsoft.com
.. _`Microsoft Application Registration Portal`: https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

.. code-block:: pycon

    >>> # This information is obtained upon registration of a new Outlook Application
    >>> client_id = '<the id you get from outlook>'
    >>> client_secret = '<the secret you get from outlook>'

    >>> # OAuth endpoints given in Outlook API documentation
    >>> authorization_base_url = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
    >>> token_url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
    >>> scope = ['https://outlook.office.com/calendars.readwrite']
    >>> redirect_uri = 'https://localhost/'     # Should match Site URL

    >>> from requests_oauthlib import OAuth2Session
    >>> outlook = OAuth2Session(client_id,scope=scope,redirect_uri=redirect_uri)

    >>> # Redirect  the user owner to the OAuth provider (i.e. Outlook) using an URL with a few key OAuth parameters.
    >>> authorization_url, state = outlook.authorization_url(authorization_base_url)
    >>> print('Please go here and authorize,', authorization_url)

    >>> # Get the authorization verifier code from the callback url
    >>> redirect_response = input('Paste the full redirect URL here:')

    >>> # Fetch the access token
    >>> token = outlook.fetch_token(token_url, client_secret=client_secret, authorization_response=redirect_response)

    >>> # Fetch a protected resource, i.e. calendar information
    >>> o = outlook.get('https://outlook.office.com/api/v1.0/me/calendars')
    >>> print(o.content)