def oauth2callback():
    code = request.args.get('code')
    if code:
        flow = get_flow(request.url_root)
        try:
            credentials = flow.step2_exchange(code)
        except Exception:
            return redirect(url_for('schedule_login'))

        cred = credentials.to_json()
        session['credentials'] = cred
    return redirect(url_for('schedule_index'))
def login():
    flow = get_flow(request.url_root)
    auth_uri = flow.step1_get_authorize_url()
    return redirect(auth_uri)