خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه ایجاد پیوند ملاقات سرور به سرور OAuth Zoom با پایتون

بیاموزید که چگونه با استفاده از Python برای برقراری ارتباط سرور به سرور با احراز هویت OAuth یک پیوند جلسه Zoom امن ایجاد کنید.

چه جلسات Zoom را در برنامه پایتون خود ادغام کرده باشید یا فقط برای انجام این کار برنامه ریزی کرده باشید، Zoom می گوید که در 1 سپتامبر 2023 برنامه های JWT را منسوخ می کند. برای جلوگیری از توقف سرویس، باید به گزینه OAuth یا OAuth سرور به سرور بروید.

گزینه OAuth کاربران شما را ملزم می کند تا از طریق حساب Zoom خود، وب سایت شما را احراز هویت کنند. اما اگر فقط لینک‌های جلسه Zoom را بدون درخواست مجوز از کاربران ایجاد می‌کنید، گزینه OAuth سرور به سرور انتخاب ایده‌آل شما است.

پس چگونه می توانید با پایتون به این هدف برسید؟

یک برنامه Zoom Server-to-Server OAuth ایجاد کنید

برای شروع، به Zoom Marketplace بروید تا یک برنامه جدید بسازید:

  1. در لیست برنامه ها حرکت کنید و بنر OAuth سرور به سرور را پیدا کنید. سپس روی دکمه Create کلیک کنید.
  2. در قسمت ارائه شده یک نام برای برنامه خود وارد کنید. سپس روی Create کلیک کنید. این شما را به صفحه دیگری هدایت می کند.
  3. تمام اطلاعات کاربری برنامه، از جمله شناسه حساب، شناسه مشتری، و Client Secret را کپی کنید. پس از اتمام روی Continue کلیک کنید. ممکن است بخواهید آنها را در فایل متغیر محیطی خود جایگذاری کنید تا آنها را پنهان کنید.
  4. در منوی زیر، فیلدهای Basic Information را با اطلاعات مناسب پر کرده و دکمه Continue را بزنید.
  5. در صفحه زیر روی Continue کلیک کنید.
  6. سپس روی Add Scopes کلیک کنید و دامنه های زیر را اضافه کنید. URI SIP رمزگذاری شده جلسه را دریافت کنید و تمام جلسات کاربر را مشاهده و مدیریت کنید.
  7. روی Continue کلیک کنید. در نهایت، روی Activate your app کلیک کنید تا از طریق برنامه OAuth سرور به سرور، تعامل با Zoom API آغاز شود.
مطلب مرتبط:   نحوه ایجاد استثناهای سفارشی در پایتون

بازار بزرگنماییپاپ آپ معین نام برنامهداشبورد اعتبار برنامهداشبورد اطلاعات برنامهداشبورد ویژگی برنامهداشبورد افزودنی Zoom Scopesصفحه فعال سازی بزرگنمایی

کد پایتون برای ایجاد لینک زوم

پس از انجام مراحل قبلی، می‌توانید با استفاده از Zoom API پیوندهای جلسه را در حال حرکت ایجاد کنید. در زیر کد کامل برای انجام این کار آمده است.

import requests

# replace with your client ID
client_id = "<Your client ID>"

# replace with your account ID
account_id = "<Your account ID>"

# replace with your client secret
client_secret = "<Your client secret>"

auth_token_url = "https://zoom.us/oauth/token"
api_base_url = "https://api.zoom.us/v2"

# create the Zoom link function
def create_meeting(topic, duration, start_date, start_time):
        data = {
        "grant_type": "account_credentials",
        "account_id": account_id,
        "client_secret": client_secret
        }
        response = requests.post(auth_token_url,
                                 auth=(client_id, client_secret),
                                 data=data)
        
        if response.status_code!=200:
            print("Unable to get access token")
        response_data = response.json()
        access_token = response_data["access_token"]

        headers = {
            "Authorization": f"Bearer {access_token}",
            "Content-Type": "application/json"
        }
        payload = {
            "topic": topic,
            "duration": duration,
            'start_time': f'{start_date}T10:{start_time}',
            "type": 2
        }

        resp = requests.post(f"{api_base_url}/users/me/meetings",
                             headers=headers,
                             json=payload)
        
        if resp.status_code!=201:
            print("Unable to generate meeting link")
        response_data = resp.json()
        
        content = {
                    "meeting_url": response_data["join_url"],
                    "password": response_data["password"],
                    "meetingTime": response_data["start_time"],
                    "purpose": response_data["topic"],
                    "duration": response_data["duration"],
                    "message": "Success",
                    "status":1
        }
        print(content)

کد ابتدا درخواستی را برای نشانی مجوز زوم به نشانی توکن زوم ارسال می کند. با ارسال این مورد از طریق هدرها به API زوم، پاسخی حاوی جزئیات جلسه مشخص‌شده در بار ارسال می‌کند. جلسه start_time ارسال شده با محموله باید در قالب ISO 8601 باشد. ما این را با استفاده از عملیات رشته پایتون قالب بندی کرده ایم.

برای مثال، می‌توانید برای برنامه‌ریزی جلسه برای ۲۳ اوت ۲۰۲۳، در ساعت ۶:۲۴ بعد از ظهر، تابع را به شرح زیر فراخوانی کنید:

create_meeting(
      "Test Zoom Meeting",
      "60",
      "2023-08-23",
      "18:24",
      )

API یک JSON حاوی اطلاعات زیادی از جمله پیوند جلسه، رمز عبور و شناسه و بسیاری از جزئیات دیگر را برمی گرداند. شما می توانید answer_data را چاپ کنید و آنچه را که نیاز دارید استخراج کنید، همانطور که در کد بالا انجام شده است.

مطلب مرتبط:   نحوه خودکار کردن عملیات اصلی فایل با استفاده از جاوا

به عنوان مثال، خروجی درخواست ما به صورت زیر است:

لینک جلسه خروجی کد

Zoom Meeting را در برنامه خود ادغام کنید

اگرچه نمایش ما شامل ادغام با وب‌سایت یا API شما نمی‌شود، چه ساخت با جنگو، فلاسک، FastAPI یا هر چارچوب پایتون دیگری، شما به راحتی می‌توانید کد را به پایگاه کد خود وصل کنید.

و در صورت ساختن یک API، می توانید آن را به یک نقطه پایانی قابل استفاده توسط هر مشتری تبدیل کنید. حتی می‌توانید این ایده را برای وب‌سایتی که علاوه بر پایتون با استفاده از زبان‌های دیگر ساخته شده است، قرض بگیرید. به عنوان مثال، مراحل ایجاد یک برنامه OAuth سرور به سرور عمومی هستند.