این راهنمای سریع توضیح میدهد که چگونه یک برنامه ساده خط فرمان جاوا راهاندازی کنید که درخواستهایی را به API داده یوتیوب ارسال کند. این راهنمای سریع در واقع نحوه ارسال دو درخواست API را توضیح میدهد:
- شما از یک کلید API که برنامه شما را شناسایی میکند، برای بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers استفاده خواهید کرد.
- شما از یک شناسه کلاینت OAuth 2.0 برای ارسال درخواست مجاز که اطلاعات مربوط به کانال یوتیوب شما را بازیابی میکند، استفاده خواهید کرد.
پیشنیازها
برای اجرای این شروع سریع، به موارد زیر نیاز دارید:
- جاوا ۱.۷ یا بالاتر.
- گریدل ۲.۳ یا بالاتر .
- دسترسی به اینترنت و مرورگر وب.
- یک حساب گوگل.
مرحله ۱: پروژه و اعتبارنامههای خود را تنظیم کنید
یک پروژه در کنسول Cloud ایجاد یا انتخاب کنید. وظایف زیر را در کنسول Cloud برای پروژه خود انجام دهید:
در پنل کتابخانه ، YouTube Data API نسخه ۳ را جستجو کنید. روی فهرست مربوط به آن API کلیک کنید و مطمئن شوید که API برای پروژه شما فعال شده است.
در پنل اعتبارنامهها ، دو اعتبارنامه ایجاد کنید:
ایجاد کلید API شما از کلید API برای ارسال درخواستهای API که نیازی به مجوز کاربر ندارند استفاده خواهید کرد. به عنوان مثال، برای بازیابی اطلاعات مربوط به یک کانال عمومی YouTube نیازی به مجوز کاربر ندارید.
یک شناسه کلاینت OAuth 2.0 ایجاد کنید. نوع برنامه را روی برنامه دسکتاپ تنظیم کنید. برای درخواستهایی که نیاز به مجوز کاربر دارند، باید از اعتبارنامههای OAuth 2.0 استفاده کنید. به عنوان مثال، برای بازیابی اطلاعات مربوط به کانال یوتیوب کاربر احراز هویت شده فعلی، به مجوز کاربر نیاز دارید.
فایل JSON حاوی اطلاعات احراز هویت OAuth 2.0 خود را دانلود کنید. نام این فایل چیزی شبیه به
client_secret_CLIENTID.jsonاست که در آنCLIENTIDشناسه کلاینت پروژه شما است.
مرحله ۲: آمادهسازی پروژه
برای آمادهسازی پروژه Gradle خود، مراحل زیر را انجام دهید:
در دایرکتوری کاری خود، دستورات زیر را برای ایجاد ساختار پروژه جدید اجرا کنید:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resourcesفایل JSON که پس از ایجاد شناسه کلاینت OAuth 2.0 خود دانلود کردهاید را به دایرکتوری
src/main/resourcesدر زیر دایرکتوری کاری خود منتقل کنید و نام فایل را بهclient_secret.jsonتغییر دهید.فایل
build.gradleرا در دایرکتوری کاری خود باز کنید و محتویات آن را با موارد زیر جایگزین کنید:apply plugin: 'java' apply plugin: 'application' mainClassName = 'ApiExample' sourceCompatibility = 1.7 targetCompatibility = 1.7 version = '1.0' repositories { mavenCentral() } dependencies { compile 'com.google.api-client:google-api-client:1.23.0' compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' compile 'com.google.apis:google-api-services-youtube:v3-revREVISION-CL_VERSION' }
در فایل
build.gradle، باید متغیرهای REVISION و CL_VERSION را با دو مقدار از مستندات کتابخانه کلاینت برای YouTube Data API جایگزین کنید. تصویر زیر که مستندات مربوط به YouTube Analytics API را نشان میدهد، محل نمایش این دو متغیر را در صفحه نشان میدهد.
مرحله ۳: نمونه را تنظیم و اجرا کنید
از ویجت APIs Explorer در پنل کناری برای دریافت کد نمونه جهت بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers استفاده کنید. این درخواست از یک کلید API برای شناسایی برنامه شما استفاده میکند و نیازی به تأیید کاربر یا هیچ مجوز خاصی از سوی کاربری که نمونه را اجرا میکند، ندارد.
- مستندات مربوط به متد channels.list مربوط به API را باز کنید.
در آن صفحه، بخش «موارد استفاده رایج» شامل جدولی است که چندین روش رایج استفاده از این روش را توضیح میدهد. اولین فهرست در جدول مربوط به فهرست کردن نتایج بر اساس شناسه کانال است.
برای باز کردن و نمایش تمام صفحه API Explorer، روی نماد کد در اولین فهرست کلیک کنید.

سمت چپ API Explorer تمام صفحه موارد زیر را نشان میدهد:
در زیر هدر پارامترهای درخواست ، لیستی از پارامترهایی که متد پشتیبانی میکند، وجود دارد. مقادیر پارامترهای
partوidباید تنظیم شوند. مقدار پارامترid،UC_x5XG1OV2P6uZZ5FSM9Ttw، شناسه کانال یوتیوب GoogleDevelopers است.در زیر پارامترها، بخشی به نام Credentials وجود دارد. منوی کشویی در آن بخش باید مقدار کلید API را نمایش دهد. APIs Explorer به طور پیشفرض از اعتبارنامههای آزمایشی استفاده میکند تا شروع کار آسانتر شود. اما شما از کلید API خودتان برای اجرای نمونه به صورت محلی استفاده خواهید کرد.

سمت راست API Explorer تمام صفحه، تبهایی با نمونه کدها به زبانهای مختلف را نشان میدهد. تب جاوا را انتخاب کنید.
نمونه کد را کپی کرده و آن را در فایلی با نام
src/main/java/ApiExample.javaذخیره کنید. هر نمونه از نام کلاس یکسانی (ApiExample) استفاده میکند، بنابراین برای اجرای نمونههای مختلف نیازی به تغییر فایلbuild.gradleندارید.در نمونهای که دانلود کردهاید، رشته
YOUR_API_KEYرا پیدا کنید و آن را با کلید API که در مرحله ۱ این راهنمای سریع ایجاد کردهاید، جایگزین کنید.نمونه را از خط فرمان اجرا کنید. در دایرکتوری کاری خود، دستور زیر را اجرا کنید:
gradle -q runنمونه باید درخواست را اجرا کرده و پاسخ را در
STDOUTچاپ کند.
مرحله ۴: اجرای یک درخواست مجاز
در این مرحله، نمونه کد خود را طوری تغییر خواهید داد که به جای بازیابی اطلاعات مربوط به کانال یوتیوب GoogleDevelopers، اطلاعات مربوط به کانال یوتیوب شما را بازیابی کند. این درخواست نیاز به مجوز کاربر دارد.
به مستندات مربوط به متد channels.list مربوط به API برگردید.
در بخش «موارد استفاده رایج»، روی نماد کد برای سومین مورد در جدول کلیک کنید. آن مورد استفاده، فراخوانی متد
listبرای «کانال من» است.دوباره، در سمت چپ API Explorer تمام صفحه، فهرستی از پارامترها و به دنبال آن بخش Credentials را مشاهده خواهید کرد. با این حال، دو تغییر نسبت به مثالی که در آن اطلاعات مربوط به کانال GoogleDevelopers را بازیابی کردید، وجود دارد:
در بخش پارامترها، به جای تنظیم مقدار پارامتر
id، مقدار پارامترmineباید رویtrueتنظیم شود. این به سرور API دستور میدهد تا اطلاعات مربوط به کانال کاربر احراز هویت شده فعلی را بازیابی کند.در بخش اعتبارنامهها ، منوی کشویی باید گزینه Google OAuth 2.0 را انتخاب کند.
علاوه بر این، اگر روی لینک نمایش محدودهها کلیک کنید، محدودهی https://www.googleapis.com/auth/youtube.readonly باید تیک خورده باشد.

همانند مثال قبلی، تب جاوا را انتخاب کنید، نمونه کد را کپی کنید و آن را در
src/main/java/ApiExample.javaذخیره کنید.نمونه را از خط فرمان اجرا کنید. در دایرکتوری کاری خود، دستور زیر را اجرا کنید:
gradle -q runاین نمونه باید سعی کند یک پنجره یا تب جدید در مرورگر پیشفرض شما باز کند. اگر این کار جواب نداد، URL را از ترمینال کپی کرده و به صورت دستی در مرورگر خود باز کنید.
اگر قبلاً وارد حساب گوگل خود نشدهاید، از شما خواسته میشود که وارد شوید. اگر وارد چندین حساب گوگل شدهاید، از شما خواسته میشود که یک حساب را برای استفاده به عنوان مجوز انتخاب کنید.
برای اعطای دسترسی به محدودههای مشخصشده در نمونه کد، روی دکمه کلیک کنید.
نمونه به طور خودکار ادامه مییابد و شما میتوانید تب مرورگر مورد استفاده برای جریان احراز هویت را ببندید.
پاسخ API باید دوباره در
STDOUTچاپ شود.