"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > قم بتوصيل تقويم Google بتطبيق Django

قم بتوصيل تقويم Google بتطبيق Django

تم النشر بتاريخ 2024-11-07
تصفح:909

Connect Google Calendar to Django Application

دليل خطوة بخطوة لدمج تقويم Google بسلاسة مع تطبيق Django لتحسين الجدولة وإدارة الأحداث.

يمكن أن يؤدي دمج تقويم Google مع تطبيق Django إلى تحسين وظائف تطبيق الويب الخاص بك بشكل كبير من خلال تمكين الجدولة وإدارة الأحداث ومزامنة التقويم. سيرشدك هذا الدليل خلال خطوات ربط تقويم Google بتطبيق Django الخاص بك، ويغطي كل شيء بدءًا من إعداد بيانات اعتماد Google API وحتى تنفيذ التعليمات البرمجية الضرورية في Django.

المتطلبات الأساسية

قبل البدء، تأكد من حصولك على ما يلي:

1. تطبيق جانغو: تطبيق جانغو عامل.

2. حساب وحدة تحكم Google API: الوصول إلى Google Cloud Console.

3. تم تمكين واجهة برمجة تطبيقات تقويم Google: يجب تمكين واجهة برمجة تطبيقات تقويم Google لمشروعك في Google Cloud Console.


الخطوة 1: إعداد مشروع Google Cloud

1. إنشاء مشروع:
انتقل إلى Google Cloud Console وأنشئ مشروعًا جديدًا.

2. تمكين واجهة برمجة تطبيقات تقويم Google:
انتقل إلى "واجهة برمجة التطبيقات والخدمات" > "المكتبة" وابحث عن "واجهة برمجة تطبيقات تقويم Google". تمكينه لمشروعك.

3. تكوين شاشة الموافقة:

  • انتقل إلى "واجهة برمجة التطبيقات والخدمات" > "شاشة موافقة OAuth" وقم بتكوين شاشة الموافقة.
  • الآن حدد نوع OAuth الذي تريده (خارجي في هذه الحالة حيث سيكون التطبيق متاحًا لأي شخص لديه حساب Google).
  • قم بتعيين جميع البيانات الخاصة بشاشة الموافقة مثل اسم التطبيق والشعار والبريد الإلكتروني للدعم وما إلى ذلك كما هو مطلوب.
  • انقر فوق "إضافة أو إزالة النطاقات" وأضف النطاقات التالية، .../auth/userinfo.email ، .../auth/userinfo.profile، openid للوصول إلى معلومات المستخدم وجميع نطاقات Google Calendar API للوصول إلى تقويم Google من المستخدم. ثم انقر فوق تحديث للحفظ.
  • التالي إضافة مستخدمي الاختبار. نظرًا لأن Google لم يتم التحقق من تطبيقنا بعد، وبالتالي لن يتمكن سوى المستخدمين الموجودين في هذه القائمة من التسجيل في مشروع Google هذا. لذا أضف جميع رسائل البريد الإلكتروني الاختبارية التي ستستخدمها لاختبار تكامل تقويم Google. بمجرد الانتهاء من ذلك، استمر في إنشاء بيانات الاعتماد.

4. إنشاء بيانات اعتماد OAuth:
انتقل إلى "واجهة برمجة التطبيقات والخدمات" > "بيانات الاعتماد" وقم بإنشاء بيانات الاعتماد. حدد معرف عميل OAuth كنوع بيانات الاعتماد. قم بتعيين تطبيق الويب كنوع التطبيق واملأ تفاصيل التطبيق.

  • عناوين URI لإعادة التوجيه المعتمدة: أضف عنوان URL لإعادة التوجيه لتطبيق Django الخاص بك (على سبيل المثال، http://localhost:8000/oauth2callback للتطوير المحلي).

5. تنزيل بيانات اعتماد JSON:
قم بتنزيل ملف JSON الخاص ببيانات اعتماد OAuth 2.0 واحتفظ به آمنًا. يحتوي هذا الملف على معرف العميل وسر العميل ومعلومات مهمة أخرى.


الخطوة 2: تثبيت حزم بايثون المطلوبة

ستحتاج إلى بعض حزم Python للتفاعل مع Google APIs:

pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client

الخطوة 3: تكوين إعدادات جانغو

قم بتحديث settings.py الخاص بك بما يلي:

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

الخطوة 4: إنشاء تدفق OAuth2

إنشاء طريقة عرض للتعامل مع تدفق 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}

الخطوة 5: التعامل مع طلبات Google Calendar API

بمجرد اكتمال تدفق OAuth2، يمكنك تقديم طلبات مصادق عليها إلى Google Calendar API. فيما يلي مثال بسيط لسرد أحداث تقويم المستخدم:

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)

الخطوة 6: تحديث عناوين URL

أضف عناوين URL للعروض في urls.py الخاص بك:

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'),
]

الخطوة 7: التشغيل والاختبار

  1. ابدأ خادم Django الخاص بك:
    قم بتشغيل خادم تطوير Django الخاص بك باستخدام python manager.py runserver.

  2. المصادقة:
    انتقل إلى /google-calendar/init/ في متصفحك. ستتم إعادة توجيهك إلى صفحة موافقة OAuth2 من Google.

  3. أحداث الوصول:
    بعد المصادقة، انتقل إلى /google-calendar/events/ لعرض أحداث تقويم Google.

خاتمة

يتيح لك دمج تقويم Google مع تطبيق Django إنشاء ميزات جدولة قوية مباشرة داخل تطبيقك. باتباع هذا الدليل، تكون قد قمت بإعداد مصادقة OAuth2، والاتصال بواجهة برمجة تطبيقات تقويم Google، وجلب أحداث التقويم. يمكنك الآن توسيع هذا التكامل ليشمل إنشاء الأحداث والتحديثات وميزات إدارة التقويم الأخرى حسب الحاجة.

ملاحظة: تذكر التعامل مع بيانات الاعتماد بشكل آمن والتأكد من معالجة الأخطاء بشكل صحيح لتطبيق قوي.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/karanjot_s/connect-google-calendar-to-django-application-3787?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3