Skip to content

Commit bd20987

Browse files
committed
Add files
1 parent 7894b7e commit bd20987

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

main.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import os
2+
from urllib import parse
3+
4+
import requests
5+
from dotenv import load_dotenv, find_dotenv
6+
from flask import Flask, redirect, jsonify, request
7+
8+
ZOOM_OAUTH_AUTHORIZE_API = 'https://zoom.us/oauth/authorize?response_type=code'
9+
10+
ZOOM_TOKEN_API = 'https://zoom.us/oauth/token?grant_type=authorization_code'
11+
12+
load_dotenv(find_dotenv())
13+
14+
app = Flask(__name__)
15+
16+
PORT = 4000
17+
18+
19+
@app.route('/')
20+
def get_token():
21+
try:
22+
if request.args.get('code'):
23+
code = request.args.get('code')
24+
redirect_url = os.environ["redirectURL"]
25+
26+
url = ZOOM_TOKEN_API + '&code=' + code + '&redirect_uri=' + parse.quote_plus(redirect_url)
27+
28+
response = requests.post(url=url, auth=(os.environ.get("clientID"), os.environ.get('clientSecret')))
29+
if response.status_code == 200:
30+
response_json = response.json()
31+
refresh_token_ = response_json['refresh_token']
32+
33+
with open("refresh_token.txt", "w") as f:
34+
f.write(refresh_token_)
35+
return jsonify("refresh token saved")
36+
37+
else:
38+
print("get auth code failed")
39+
response = app.response_class(status=500)
40+
return response
41+
else:
42+
# redirecting
43+
print("redirecting to authorize app")
44+
return redirect(location=ZOOM_OAUTH_AUTHORIZE_API + '&client_id=' + os.environ.get(
45+
"clientID") + '&redirect_uri=' + os.environ["redirectURL"])
46+
except Exception as e:
47+
print(e.__str__())
48+
response = app.response_class(status=500)
49+
return response
50+
51+
52+
if __name__ == '__main__':
53+
app.run(port=PORT)

requirements.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
certifi==2020.11.8
2+
chardet==3.0.4
3+
click==7.1.2
4+
Flask==1.1.2
5+
idna==2.10
6+
itsdangerous==1.1.0
7+
Jinja2==2.11.2
8+
MarkupSafe==1.1.1
9+
requests==2.24.0
10+
urllib3==1.25.11
11+
Werkzeug==1.0.1
12+
13+
python-dotenv~=0.15.0

0 commit comments

Comments
 (0)