این راهنمای شروع سریع نحوه راهاندازی یک برنامه ساده و خط فرمان جاوا را توضیح میدهد که درخواستهایی را به YouTube Data API ارسال میکند. این شروع سریع در واقع نحوه ایجاد دو درخواست API را توضیح می دهد:
- برای بازیابی اطلاعات کانال YouTube GoogleDevelopers از یک کلید API استفاده می کنید که برنامه شما را شناسایی می کند.
- شما از شناسه مشتری OAuth 2.0 برای ارسال یک درخواست مجاز استفاده می کنید که اطلاعات مربوط به کانال YouTube شما را بازیابی می کند.
پیش نیازها
برای اجرای این شروع سریع، به موارد زیر نیاز دارید:
- جاوا 1.7 یا بالاتر.
- Gradle 2.3 یا بیشتر .
- دسترسی به اینترنت و مرورگر وب.
- یک حساب کاربری گوگل
مرحله 1: پروژه و اعتبارنامه خود را تنظیم کنید
یک پروژه را در کنسول API ایجاد یا انتخاب کنید. کارهای زیر را در کنسول API برای پروژه خود انجام دهید:
در پانل کتابخانه ، YouTube Data API v3 را جستجو کنید. روی لیست آن API کلیک کنید و مطمئن شوید که API برای پروژه شما فعال است.
در پانل اعتبار ، دو اعتبار ایجاد کنید:
ایجاد یک کلید API برای ایجاد درخواست های API که نیازی به مجوز کاربر ندارند از کلید API استفاده خواهید کرد. به عنوان مثال، برای بازیابی اطلاعات یک کانال عمومی YouTube نیازی به مجوز کاربر ندارید.
ایجاد شناسه مشتری OAuth 2.0 نوع برنامه را روی Other تنظیم کنید. برای درخواست هایی که نیاز به مجوز کاربر دارند، باید از اعتبارنامه OAuth 2.0 استفاده کنید. به عنوان مثال، برای بازیابی اطلاعات مربوط به کانال یوتیوب کاربر تأیید شده فعلی، به مجوز کاربر نیاز دارید.
فایل JSON را که حاوی اطلاعات کاربری OAuth 2.0 شما است دانلود کنید. این فایل دارای نامی مانند
client_secret_CLIENTID.json
است که در آنCLIENTID
شناسه مشتری پروژه شما است.
مرحله 2: پروژه را آماده کنید
مراحل زیر را برای آماده سازی پروژه 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 را نشان می دهد، نشان می دهد که این دو متغیر در کجای صفحه ظاهر می شوند.
مرحله 3: نمونه را تنظیم و اجرا کنید
از ویجت APIs Explorer در پانل کناری برای دریافت کد نمونه برای بازیابی اطلاعات مربوط به کانال YouTube GoogleDevelopers استفاده کنید. این درخواست از یک کلید API برای شناسایی برنامه شما استفاده می کند و نیازی به مجوز کاربر یا مجوزهای خاصی از کاربر در حال اجرا نمونه ندارد.
- اسناد مربوط به روش channels.list API را باز کنید.
در آن صفحه، بخش «موارد استفاده متداول» حاوی جدولی است که چندین روش رایج استفاده از این روش را توضیح میدهد. اولین لیست در جدول برای لیست کردن نتایج بر اساس شناسه کانال است.
روی نماد کد اولین فهرست کلیک کنید تا APIs Explorer تمام صفحه باز و پر شود.
سمت چپ APIs Explorer تمام صفحه موارد زیر را نشان می دهد:
در زیر سربرگ پارامترهای درخواست ، لیستی از پارامترهایی وجود دارد که این روش از آنها پشتیبانی می کند. مقادیر پارامتر
part
وid
باید تنظیم شوند. مقدار پارامترid
،UC_x5XG1OV2P6uZZ5FSM9Ttw
، شناسه کانال GoogleDevelopers YouTube است.در زیر پارامترها، بخشی به نام Credentials وجود دارد. منوی کشویی در آن بخش باید مقدار کلید API را نمایش دهد. APIs Explorer به طور پیشفرض از اعتبارنامههای نمایشی استفاده میکند تا شروع به کار را آسانتر کند. اما شما از کلید API خود برای اجرای نمونه به صورت محلی استفاده خواهید کرد.
سمت راست APIs Explorer تمام صفحه برگه هایی را با نمونه کد به زبان های مختلف نشان می دهد. زبانه جاوا را انتخاب کنید.
نمونه کد را کپی کرده و در فایلی با نام
src/main/java/ApiExample.java
ذخیره کنید. هر نمونه از نام کلاس یکسانی (ApiExample
) استفاده می کند، بنابراین برای اجرای نمونه های مختلف نیازی به تغییر فایلbuild.gradle
ندارید.در نمونه ای که دانلود کردید، رشته
YOUR_API_KEY
را پیدا کنید و آن را با کلید API که در مرحله 1 این شروع سریع ایجاد کردید جایگزین کنید.نمونه را از خط فرمان اجرا کنید. در پوشه کاری خود، اجرا کنید:
gradle -q run
نمونه باید درخواست را اجرا کند و پاسخ
STDOUT
را چاپ کند.
مرحله 4: درخواست مجاز را اجرا کنید
در این مرحله، نمونه کد خود را طوری تغییر میدهید که به جای بازیابی اطلاعات مربوط به کانال YouTube GoogleDevelopers، اطلاعات مربوط به کانال YouTube شما را بازیابی کند. این درخواست نیاز به مجوز کاربر دارد.
به مستندات روش channels.list API بازگردید.
در بخش «موارد استفاده متداول»، روی نماد کد فهرست سوم در جدول کلیک کنید. این مورد استفاده فراخوانی متد
list
برای «کانال من» است.مجدداً، در سمت چپ APIs Explorer تمام صفحه، لیستی از پارامترها را مشاهده خواهید کرد که به دنبال آن بخش Credentials قرار دارد. با این حال، دو تغییر نسبت به مثالی که در آن اطلاعات مربوط به کانال GoogleDevelopers را بازیابی کردید، وجود دارد:
در قسمت پارامترها به جای اینکه مقدار پارامتر
id
تنظیم شود، مقدار پارامترmine
باید رویtrue
تنظیم شود. این به سرور API دستور می دهد تا اطلاعات مربوط به کانال کاربر تأیید شده فعلی را بازیابی کند.در بخش اعتبارنامهها ، منوی کشویی باید گزینه Google OAuth 2.0 را انتخاب کند.
علاوه بر این، اگر روی پیوند Show scopes کلیک کنید، محدوده https://www.googleapis.com/auth/youtube.readonly باید بررسی شود.
مانند مثال قبلی، زبانه جاوا را انتخاب کنید، نمونه کد را کپی کنید و آن را در
src/main/java/ApiExample.java
ذخیره کنید.نمونه را از خط فرمان اجرا کنید. در پوشه کاری خود، اجرا کنید:
gradle -q run
نمونه باید سعی کند پنجره یا برگه جدیدی را در مرورگر پیش فرض شما باز کند. اگر این کار انجام نشد، URL را از ترمینال کپی کنید و به صورت دستی آن را در مرورگر خود باز کنید.
اگر قبلاً وارد حساب Google خود نشدهاید، از شما خواسته میشود که وارد شوید. اگر به چندین حساب Google وارد شدهاید، از شما خواسته میشود یک حساب را برای استفاده برای مجوز انتخاب کنید.
روی دکمه کلیک کنید تا برنامه شما به محدوده های مشخص شده در نمونه کد شما دسترسی پیدا کند.
نمونه به طور خودکار ادامه می یابد و می توانید برگه مرورگر مورد استفاده برای جریان تأیید را ببندید.
پاسخ API باید دوباره در
STDOUT
چاپ شود.