PHP Quick Start

این راهنمای سریع توضیح می‌دهد که چگونه یک برنامه ساده خط فرمان PHP راه‌اندازی کنید که درخواست‌هایی را به API داده یوتیوب ارسال کند. این راهنمای سریع در واقع نحوه ارسال دو درخواست API را توضیح می‌دهد:

  1. شما از یک کلید API که برنامه شما را شناسایی می‌کند، برای بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers استفاده خواهید کرد.
  2. شما از یک شناسه کلاینت OAuth 2.0 برای ارسال درخواست مجاز که اطلاعات مربوط به کانال یوتیوب شما را بازیابی می‌کند، استفاده خواهید کرد.

پیش‌نیازها

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

  • PHP 5.4 یا بالاتر با رابط خط فرمان (CLI) و افزونه JSON نصب شده.
  • ابزار مدیریت وابستگی Composer که به صورت سراسری نصب شده است
  • کتابخانه کلاینت APIهای گوگل برای PHP:
    • اگر قبلاً کتابخانه کلاینت را نصب نکرده‌اید:
      composer require google/apiclient:^2.0
    • اگر قبلاً کتابخانه کلاینت را نصب کرده‌اید، توصیه می‌کنیم آن را به‌روزرسانی کنید تا مطمئن شوید که به‌روزترین کلاس‌ها را برای کتابخانه‌ای که آزمایش می‌کنید، دارید:
      composer update google/apiclient --with-dependencies

مرحله ۱: پروژه و اعتبارنامه‌های خود را تنظیم کنید

یک پروژه در کنسول API ایجاد یا انتخاب کنید. وظایف زیر را در کنسول API برای پروژه خود انجام دهید:

  1. در پنل کتابخانه ، YouTube Data API نسخه ۳ را جستجو کنید. روی فهرست مربوط به آن API کلیک کنید و مطمئن شوید که API برای پروژه شما فعال شده است.

  2. در پنل اعتبارنامه‌ها ، دو اعتبارنامه ایجاد کنید:

    1. ایجاد کلید API شما از کلید API برای ارسال درخواست‌های API که نیازی به مجوز کاربر ندارند استفاده خواهید کرد. به عنوان مثال، برای بازیابی اطلاعات مربوط به یک کانال عمومی YouTube نیازی به مجوز کاربر ندارید.

    2. یک شناسه کلاینت OAuth 2.0 ایجاد کنید. نوع برنامه را روی Other تنظیم کنید. برای درخواست‌هایی که نیاز به مجوز کاربر دارند، باید از اعتبارنامه‌های OAuth 2.0 استفاده کنید. به عنوان مثال، برای بازیابی اطلاعات مربوط به کانال یوتیوب کاربر احراز هویت شده فعلی، به مجوز کاربر نیاز دارید.

      فایل JSON حاوی اطلاعات احراز هویت OAuth 2.0 خود را دانلود کنید. نام این فایل چیزی شبیه به client_secret_CLIENTID.json است که در آن CLIENTID شناسه کلاینت پروژه شما است.

مرحله ۲: نمونه را تنظیم و اجرا کنید

از ویجت APIs Explorer در پنل کناری برای دریافت کد نمونه جهت بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers استفاده کنید. این درخواست از یک کلید API برای شناسایی برنامه شما استفاده می‌کند و نیازی به تأیید کاربر یا هیچ مجوز خاصی از سوی کاربری که نمونه را اجرا می‌کند، ندارد.

  1. مستندات مربوط به متد channels.list مربوط به API را باز کنید.
  2. در آن صفحه، بخش «موارد استفاده رایج» شامل جدولی است که چندین روش رایج استفاده از این روش را توضیح می‌دهد. اولین فهرست در جدول مربوط به فهرست کردن نتایج بر اساس شناسه کانال است.

    برای باز کردن و نمایش تمام صفحه API Explorer، روی نماد کد در اولین فهرست کلیک کنید.

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

  3. سمت چپ API Explorer تمام صفحه موارد زیر را نشان می‌دهد:

    1. در زیر هدر پارامترهای درخواست ، لیستی از پارامترهایی که متد پشتیبانی می‌کند، وجود دارد. مقادیر پارامترهای part و id باید تنظیم شوند. مقدار پارامتر id ، UC_x5XG1OV2P6uZZ5FSM9Ttw ، شناسه کانال یوتیوب GoogleDevelopers است.

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

      تصویری که «اعتبارنامه‌ها» را در مرورگر APIهای تمام‌صفحه و منوی کشویی با گزینه «کلید API» انتخاب‌شده نشان می‌دهد.

  4. سمت راست API Explorer تمام صفحه، تب‌هایی با نمونه کدها به زبان‌های مختلف را نشان می‌دهد. تب PHP را انتخاب کنید.

  5. نمونه کد را کپی کرده و آن را در فایلی با نام example.php ذخیره کنید.

  6. در نمونه‌ای که دانلود کرده‌اید، رشته YOUR_API_KEY را پیدا کنید و آن را با کلید API که در مرحله ۱ این راهنمای سریع ایجاد کرده‌اید، جایگزین کنید.

  7. نمونه را از خط فرمان اجرا کنید. در دایرکتوری کاری خود، دستور زیر را اجرا کنید:

    php example.php

  8. نمونه باید درخواست را اجرا کرده و پاسخ را در STDOUT چاپ کند.

مرحله ۳: اجرای یک درخواست مجاز

در این مرحله، نمونه کد خود را طوری تغییر خواهید داد که به جای بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers، اطلاعات مربوط به کانال یوتیوب شما را بازیابی کند. این درخواست نیاز به مجوز کاربر دارد.

  1. به مستندات مربوط به متد channels.list مربوط به API برگردید.

  2. در بخش «موارد استفاده رایج»، روی نماد کد برای سومین مورد در جدول کلیک کنید. آن مورد استفاده، فراخوانی متد list برای «کانال من» است.

  3. دوباره، در سمت چپ API Explorer تمام صفحه، فهرستی از پارامترها و به دنبال آن بخش Credentials را مشاهده خواهید کرد. با این حال، دو تغییر نسبت به مثالی که در آن اطلاعات مربوط به کانال GoogleDevelopers را بازیابی کردید، وجود دارد:

    1. در بخش پارامترها، به جای تنظیم مقدار پارامتر id ، مقدار پارامتر mine باید روی true تنظیم شود. این به سرور API دستور می‌دهد تا اطلاعات مربوط به کانال کاربر احراز هویت شده فعلی را بازیابی کند.

    2. در بخش اعتبارنامه‌ها ، منوی کشویی باید گزینه Google OAuth 2.0 را انتخاب کند.

      علاوه بر این، اگر روی لینک نمایش محدوده‌ها کلیک کنید، محدوده‌ی https://www.googleapis.com/auth/youtube.readonly باید تیک خورده باشد.

      تصویری که محدوده‌ها را در مرورگر API تمام‌صفحه نشان می‌دهد و گزینه استفاده از اعتبارنامه‌های «Google OAuth 2.0» انتخاب شده است.

  4. مانند مثال قبلی، تب PHP را انتخاب کنید، نمونه کد را کپی کنید و آن را در example.php ذخیره کنید.

    در کد، رشته YOUR_CLIENT_SECRET_FILE.json را پیدا کنید و آن را با محل فایل مخفی کلاینت که در مرحله 1 این راهنمای سریع دانلود کردید، جایگزین کنید.

  5. نمونه را از خط فرمان اجرا کنید. در دایرکتوری کاری خود، دستور زیر را اجرا کنید:

    php example.php

  6. آدرس را از کنسول کپی کنید و آن را در مرورگر خود باز کنید.

    اگر قبلاً وارد حساب گوگل خود نشده‌اید، از شما خواسته می‌شود که وارد شوید. اگر وارد چندین حساب گوگل شده‌اید، از شما خواسته می‌شود که یک حساب را برای استفاده به عنوان مجوز انتخاب کنید.

  7. برای اعطای دسترسی به محدوده‌های مشخص‌شده در نمونه کد، روی دکمه کلیک کنید.

  8. کد احراز هویت را از مرورگر کپی کرده و در ترمینال خود جایگذاری کنید. سپس می‌توانید تب مرورگر مورد استفاده برای جریان احراز هویت را ببندید.

    پاسخ API باید دوباره در STDOUT چاپ شود.

مطالعه بیشتر