Sambungkan Kalendar Google ke Aplikasi Django

WBOY
Lepaskan: 2024-08-16 18:01:43
asal
660 orang telah melayarinya

Connect Google Calendar to Django Application

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.

Prasyarat

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.


Langkah 1: Sediakan Projek 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:

  • Navigasi ke "API & Perkhidmatan" > “Skrin persetujuan OAuth” dan konfigurasikan skrin Persetujuan.
  • Sekarang pilih jenis OAuth yang anda mahukan (Luaran dalam kes ini kerana aplikasi itu boleh diakses oleh sesiapa sahaja yang mempunyai Akaun Google).
  • Tetapkan semua data untuk skrin persetujuan seperti Nama Apl, logo, e-mel sokongan dan lain-lain seperti yang diperlukan.
  • Klik pada “Tambah atau alih keluar skop” dan tambahkan skop berikut, …/auth/userinfo.email , …/auth/userinfo.profile, openid untuk mengakses maklumat pengguna dan semua skop API Kalendar Google untuk mengakses kalendar Google pengguna . Kemudian klik Kemas Kini untuk menyimpan.
  • Seterusnya Tambah pengguna ujian. Memandangkan permohonan kami belum lagi disahkan oleh google maka hanya pengguna dalam senarai ini yang boleh mendaftar ke projek google ini. Jadi tambahkan semua e-mel ujian yang anda akan gunakan untuk menguji integrasi kalendar google. Setelah selesai terus buat kelayakan.

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 isikan butiran permohonan.

  • URI ubah hala yang dibenarkan: Tambahkan URL ubah hala untuk aplikasi Django anda (cth., http://localhost:8000/oauth2callback untuk pembangunan setempat).

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.


Langkah 2: Pasang Pakej Python yang Diperlukan

Anda memerlukan beberapa pakej Python untuk berinteraksi dengan API Google:

pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
Salin selepas log masuk

Langkah 3: Konfigurasikan Tetapan Django

Kemas kini tetapan.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
Salin selepas log masuk

Langkah 4: Buat Aliran OAuth2

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}
Salin selepas log masuk

Langkah 5: Kendalikan Permintaan API Kalendar Google

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)
Salin selepas log masuk

Langkah 6: Kemas kini URL

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'), ]
Salin selepas log masuk

Langkah 7: Jalankan dan Uji

  1. Mulakan Pelayan Django Anda:
    Jalankan pelayan pembangunan Django anda menggunakan python manage.py runserver.

  2. Sahkan:
    Navigasi ke /google-calendar/init/ dalam penyemak imbas anda. Anda akan diubah hala ke halaman persetujuan OAuth2 Google.

  3. Akses Acara:
    Selepas pengesahan, pergi ke /google-calendar/events/ untuk melihat acara Kalendar Google anda.

Kesimpulan

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!