Skip to content

Commit 3de59e5

Browse files
authored
Merge pull request #111 from dodaromike/main
PythonDjango Sample
2 parents 0f3a77b + 750f126 commit 3de59e5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1230
-1175
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,33 @@ about: Create a report to help us improve
44
title: ''
55
labels: bug report, needs triage
66
assignees: ''
7-
---
8-
9-
### Where did you get the code?
10-
11-
- [ ] Downloaded from GitHub
12-
- [ ] Downloaded from the [Microsoft Graph quick start tool](https://developer.microsoft.com/graph/quick-start)
13-
- [ ] Followed the tutorial from [Microsoft Graph tutorials](https://docs.microsoft.com/graph/tutorials)
147

15-
### Describe the bug
8+
---
169

10+
**Describe the bug**
1711
A clear and concise description of what the bug is.
1812

19-
### To Reproduce
20-
13+
**To Reproduce**
2114
Steps to reproduce the behavior:
22-
2315
1. Go to '...'
24-
1. Click on '....'
25-
1. Scroll down to '....'
26-
1. See error
27-
28-
### Expected behavior
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
2919

20+
**Expected behavior**
3021
A clear and concise description of what you expected to happen.
3122

32-
### Screenshots
33-
23+
**Screenshots**
3424
If applicable, add screenshots to help explain your problem.
3525

36-
### Desktop
37-
38-
- OS: [e.g. iOS]
39-
- Browser [e.g. chrome, safari]
40-
- Version [e.g. 22]
41-
42-
### Dependency versions
43-
44-
- Authentication library (MSAL, etc.) version:
45-
- Graph library (Graph SDK, REST library, etc.) version:
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
4630

47-
### Additional context
31+
**Dependency versions**
32+
- Authentication library (MSAL, etc.) version:
33+
- Graph library (Graph SDK, REST library, etc.) version:
4834

49-
Add any other context about the problem here.
35+
**Additional context**
36+
Add any other context about the problem here.

.github/workflows/django.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@ on:
88

99
jobs:
1010
build:
11-
11+
1212
defaults:
1313
run:
14-
working-directory: demo/graph_tutorial
14+
working-directory: graph_tutorial
1515

1616
runs-on: ubuntu-latest
1717
strategy:
1818
max-parallel: 4
1919
matrix:
20-
python-version: [3.7, 3.8, 3.9]
20+
python-version: ['3.8', '3.9', '3.10']
2121

2222
steps:
2323
- uses: actions/checkout@v2
2424
- name: Copy settings file
2525
run: |
26-
cp oauth_settings.yml.example oauth_settings.yml
26+
cp oauth_settings.example.yml oauth_settings.yml
2727
- name: Set up Python ${{ matrix.python-version }}
28-
uses: actions/setup-python@v2
28+
uses: actions/setup-python@v4
2929
with:
3030
python-version: ${{ matrix.python-version }}
3131
- name: Install Dependencies

.gitignore

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,5 @@ venv.bak/
103103
# mypy
104104
.mypy_cache/
105105

106-
# VS Code
107-
.vscode/
108-
109106
# OAuth settings
110107
oauth_settings.yml
111-
112-
QSTemp/
113-
PythonDjangoQuickStart.zip

.vscode/settings.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"python.linting.pylintEnabled": true,
3+
"python.linting.enabled": true,
4+
"python.linting.pylintArgs": [
5+
"--rcfile=graph_tutorial/.pylintrc"
6+
],
7+
"cSpell.words": [
8+
"calendarview",
9+
"dateutil",
10+
"gettz",
11+
"newevent",
12+
"signin",
13+
"signout",
14+
"timespec"
15+
]
16+
}

CONTRIBUTING.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

Lab.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

README.md

Lines changed: 69 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,79 @@
1-
# Microsoft Graph Training Module - Build Python Django apps with Microsoft Graph
1+
---
2+
page_type: sample
3+
description: This sample demonstrates how to use the Microsoft Graph to access data in Office 365 from a Python Django app.
4+
products:
5+
- ms-graph
6+
- microsoft-graph-calendar-api
7+
- office-exchange-online
8+
languages:
9+
- python
10+
---
11+
# Microsoft Graph sample Python web app
212

3-
This module will introduce you to working with Microsoft Graph to access data in Office 365 by building a Python Django web applications.
13+
This sample uses Microsoft Graph to access data in Office 365 by building a Python Django web application using the Azure AD v2 authentication endpoint.
414

5-
## Lab - Build Python Django apps with Microsoft Graph
15+
## Prerequisites
16+
- [Python](https://www.python.org/) (with [pip](https://pypi.org/project/pip/)) installed on your development machine. If you do not have Python, visit the previous link for download options. (**Note:** This tutorial was written with Python version 3.7.9 and Django version 3.2.15 The steps in this guide may work with other versions, but that has not been tested.)
17+
- Either a personal Microsoft account with a mailbox on Outlook.com, or a Microsoft work or school account.
618

7-
In this lab you will create a Python Django web application using the Azure AD v2 authentication endpoint to access data in Office 365 using Microsoft Graph.
19+
If you don't have a Microsoft account, there are a couple of options to get a free account:
820

9-
- [Python Microsoft Graph tutorial](https://docs.microsoft.com/graph/tutorials/python)
21+
- You can [sign up for a new personal Microsoft account](https://signup.live.com/signup?wa=wsignin1.0&rpsnv=12&ct=1454618383&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https://mail.live.com/default.aspx&id=64855&cbcxt=mai&bk=1454618383&uiflavor=web&uaid=b213a65b4fdc484382b6622b3ecaa547&mkt=E-US&lc=1033&lic=1).
22+
- You can [sign up for the Microsoft 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program) to get a free Office 365 subscription.
1023

11-
## Completed sample
24+
## Register a web application with the Azure Active Directory admin center
1225

13-
If you just want the completed sample generated by following this lab, you can find it here.
26+
1. Open a browser and navigate to the [Azure Active Directory admin center](https://aad.portal.azure.com). Login using a **personal account** (aka: Microsoft Account) or **Work or School Account**.
1427

15-
- [Completed project](demo)
28+
1. Select **Azure Active Directory** in the left-hand navigation, then select **App registrations** under **Manage**.
1629

17-
## Disclaimer
30+
1. Select **New registration**. On the **Register an application** page, set the values as follows.
31+
32+
- Set **Name** to `Python Graph Tutorial`.
33+
- Set **Supported account types** to **Accounts in any organizational directory and personal Microsoft accounts**.
34+
- Under **Redirect URI**, set the first drop-down to `Web` and set the value to `http://localhost:8000/callback`.
35+
36+
1. Choose **Register**. On the **Python Graph Tutorial** page, copy the value of the **Application (client) ID** and save it, you will need it in the next step.
37+
38+
1. Select **Certificates & secrets** under **Manage**. Select the **New client secret** button. Enter a value in **Description** and select one of the options for **Expires** and choose **Add**.
39+
40+
1. Copy the client secret value before you leave this page. You will need it in the next step.
41+
42+
> [!IMPORTANT]
43+
> This client secret is never shown again, so make sure you copy it now.
44+
45+
## Configure the sample
46+
47+
1. Rename the `oauth_settings.example.yml` file to `oauth_settings.yml`.
48+
1. Edit the `oauth_settings.yml` file and make the following changes.
49+
1. Replace `YOUR_APP_ID_HERE` with the **Application Id** you got from the App Registration Portal.
50+
1. Replace `YOUR_APP_PASSWORD_HERE` with the password you got from the App Registration Portal.
51+
1. In your command-line interface (CLI), navigate to this directory and run the following command to install requirements.
52+
53+
```Shell
54+
pip install -r requirements.txt
55+
```
1856

19-
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
57+
1. In your CLI, run the following command to initialize the app's database.
58+
59+
```Shell
60+
python manage.py migrate
61+
```
62+
63+
## Run the sample
64+
65+
1. Run the following command in your CLI to start the application.
66+
67+
```Shell
68+
python manage.py runserver
69+
```
70+
71+
1. Open a browser and browse to `http://localhost:8000`.
72+
73+
## Code of conduct
74+
75+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
76+
77+
## Disclaimer
2078
21-
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
79+
**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**

demo/README.md

Lines changed: 0 additions & 72 deletions
This file was deleted.

demo/graph_tutorial/graph_tutorial/urls.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

demo/graph_tutorial/requirements.txt

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)