Rumah >pembangunan bahagian belakang >Tutorial Python >Sambungkan Kalendar Google ke Aplikasi Django
Panduan Langkah demi Langkah untuk Mengintegrasikan Kalendar Google dengan Lancar dengan Aplikasi Django Anda untuk Penjadualan dan Pengurusan Acara yang Dipertingkat.
Menyepadukan Kalendar Google dengan aplikasi Django anda boleh meningkatkan kefungsian apl web anda dengan ketara dengan mendayakan penjadualan, pengurusan acara dan penyegerakan kalendar. Panduan ini akan membimbing anda melalui langkah-langkah untuk menyambungkan Kalendar Google ke aplikasi Django anda, merangkumi segala-galanya daripada menyediakan bukti kelayakan API Google kepada melaksanakan kod yang diperlukan dalam Django.
Sebelum anda bermula, pastikan anda mempunyai perkara berikut:
1. Aplikasi Django: Aplikasi Django yang berfungsi.
2. Akaun Google API Console: Akses kepada Google Cloud Console.
3. API Kalendar Google Didayakan: API Kalendar Google harus didayakan untuk projek anda dalam Konsol Awan Google.
1. Buat Projek:
Pergi ke Google Cloud Console dan buat projek baharu.
2. Dayakan API Kalendar Google:
Navigasi ke "API & Perkhidmatan" > "Perpustakaan" dan cari "API Kalendar Google." Dayakannya untuk projek anda.
3. Konfigurasikan Skrin Persetujuan:
4. Cipta Bukti Kelayakan OAuth:
Pergi ke “API & Perkhidmatan” > "Tauliah" dan buat bukti kelayakan. Pilih ID klien OAuth sebagai jenis bukti kelayakan. Tetapkan aplikasi Web sebagai jenis Aplikasi dan isi butiran aplikasi.
5. Muat Turun Bukti Kelayakan JSON:
Muat turun fail JSON bukti kelayakan OAuth 2.0 dan pastikan ia selamat. Fail ini mengandungi client_id anda, client_secret dan maklumat penting lain.
Anda memerlukan beberapa pakej Python untuk berinteraksi dengan API Google:
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
Kemas kini settings.py anda dengan yang berikut:
import os # Google Calendar API GOOGLE_CLIENT_SECRETS_FILE = os.path.join(BASE_DIR, 'path/to/client_secret.json') GOOGLE_API_SCOPES = ['https://www.googleapis.com/auth/calendar'] REDIRECT_URI = 'http://localhost:8000/oauth2callback' # Or your production URL
Buat paparan untuk mengendalikan aliran OAuth2:
from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import Flow from django.shortcuts import redirect from django.http import HttpResponse from django.conf import settings def google_calendar_init(request): flow = Flow.from_client_secrets_file( settings.GOOGLE_CLIENT_SECRETS_FILE, scopes=settings.GOOGLE_API_SCOPES, redirect_uri=settings.REDIRECT_URI ) authorization_url, state = flow.authorization_url( access_type='offline', include_granted_scopes='true' ) request.session['state'] = state return redirect(authorization_url) def google_calendar_redirect(request): state = request.session['state'] flow = Flow.from_client_secrets_file( settings.GOOGLE_CLIENT_SECRETS_FILE, scopes=settings.GOOGLE_API_SCOPES, state=state, redirect_uri=settings.REDIRECT_URI ) flow.fetch_token(authorization_response=request.build_absolute_uri()) credentials = flow.credentials request.session['credentials'] = credentials_to_dict(credentials) return HttpResponse('Calendar integration complete. You can now use Google Calendar with your Django app.') def credentials_to_dict(credentials): return {'token': credentials.token, 'refresh_token': credentials.refresh_token, 'token_uri': credentials.token_uri, 'client_id': credentials.client_id, 'client_secret': credentials.client_secret, 'scopes': credentials.scopes}
Setelah aliran OAuth2 selesai, anda boleh membuat permintaan yang disahkan kepada API Kalendar Google. Berikut ialah contoh mudah untuk menyenaraikan acara kalendar pengguna:
from googleapiclient.discovery import build def list_events(request): credentials = Credentials(**request.session['credentials']) service = build('calendar', 'v3', credentials=credentials) events_result = service.events().list(calendarId='primary', maxResults=10).execute() events = events_result.get('items', []) return HttpResponse(events)
Tambahkan URL untuk paparan dalam urls.py anda:
from django.urls import path from . import views urlpatterns = [ path('google-calendar/init/', views.google_calendar_init, name='google_calendar_init'), path('oauth2callback/', views.google_calendar_redirect, name='google_calendar_redirect'), path('google-calendar/events/', views.list_events, name='list_events'), ]
Mulakan Pelayan Django Anda:
Jalankan pelayan pembangunan Django anda menggunakan python manage.py runserver.
Sahkan:
Navigasi ke /google-calendar/init/ dalam penyemak imbas anda. Anda akan diubah hala ke halaman persetujuan OAuth2 Google.
Akses Acara:
Selepas pengesahan, pergi ke /google-calendar/events/ untuk melihat acara Kalendar Google anda.
Mengintegrasikan Kalendar Google dengan aplikasi Django anda membolehkan anda membina ciri penjadualan yang berkuasa terus dalam apl anda. Dengan mengikuti panduan ini, anda telah menyediakan pengesahan OAuth2, disambungkan ke API Kalendar Google dan mengambil acara kalendar. Anda kini boleh mengembangkan penyepaduan ini untuk memasukkan penciptaan acara, kemas kini dan ciri pengurusan kalendar lain seperti yang diperlukan.
PS: Ingat untuk mengendalikan bukti kelayakan dengan selamat dan pastikan pengendalian ralat yang betul untuk aplikasi yang mantap.
Atas ialah kandungan terperinci Sambungkan Kalendar Google ke Aplikasi Django. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!