يوضّح دليل البدء السريع هذا كيفية إعداد تطبيق بسيط يعمل من سطر الأوامر بلغة Java ويرسل طلبات إلى YouTube Data API. يوضّح هذا الدليل السريع كيفية إرسال طلبَين إلى واجهة برمجة التطبيقات:
- ستستخدم مفتاح واجهة برمجة تطبيقات يحدّد تطبيقك لاسترداد معلومات حول قناة GoogleDevelopers على YouTube.
- ستستخدم معرّف عميل OAuth 2.0 لإرسال طلب مفوّض يسترد معلومات حول قناتك على YouTube.
المتطلبات الأساسية
لتشغيل هذا التشغيل السريع، ستحتاج إلى ما يلي:
- الإصدار 1.7 من Java أو إصدار أحدث
- الإصدار 2.3 من Gradle أو إصدار أحدث
- يجب أن يكون لديك اتصال بالإنترنت ومتصفّح ويب.
- حساب Google
الخطوة 1: إعداد مشروعك وبيانات الاعتماد
أنشئ مشروعًا أو اختَر مشروعًا في API Console. أكمِل المهام التالية في "وحدة تحكّم واجهة برمجة التطبيقات" لمشروعك:
في لوحة المكتبة، ابحث عن الإصدار 3 من YouTube Data API. انقر على بطاقة بيانات واجهة برمجة التطبيقات هذه وتأكَّد من تفعيلها لمشروعك.
في لوحة بيانات الاعتماد، أنشئ بيانات اعتماد على النحو التالي:
إنشاء مفتاح واجهة برمجة التطبيقات ستستخدم مفتاح واجهة برمجة التطبيقات لإرسال طلبات إلى واجهة برمجة التطبيقات لا تتطلّب تفويضًا من المستخدم. على سبيل المثال، لا تحتاج إلى إذن المستخدم لاسترداد معلومات حول قناة YouTube عامة.
إنشاء معرّف عميل OAuth 2.0 اضبط نوع التطبيق على غير ذلك. يجب استخدام بيانات اعتماد OAuth 2.0 للطلبات التي تتطلّب تفويض المستخدم. على سبيل المثال، تحتاج إلى إذن من المستخدم لاسترداد معلومات حول قناة YouTube الخاصة بالمستخدم الذي تم التحقّق من هويته حاليًا.
نزِّل ملف 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 في اللوحة الجانبية للحصول على نموذج رمز برمجي لاسترداد معلومات حول قناة GoogleDevelopers على YouTube. يستخدم هذا الطلب مفتاح واجهة برمجة تطبيقات للتعرّف على تطبيقك، ولا يتطلّب تفويضًا من المستخدم أو أي أذونات خاصة من المستخدم الذي يشغّل النموذج.
- افتح مستندات طريقة channels.list في واجهة برمجة التطبيقات.
في تلك الصفحة، يحتوي قسم "حالات الاستخدام الشائعة" على جدول يوضّح عدة طرق شائعة لاستخدام الطريقة. تخصّص القائمة الأولى في الجدول نتائج البحث حسب معرّف القناة.
انقر على رمز الرمز البرمجي الخاص بالإدراج الأول لفتح أداة Fullscreen APIs Explorer وتعبئتها.
يعرض الجانب الأيسر من "مستكشف واجهات برمجة التطبيقات لملء الشاشة" ما يلي:
أسفل عنوان مَعلمات الطلب، تظهر قائمة بالمَعلمات التي تتوافق مع الطريقة. يجب ضبط قيمتَي المَعلمتَين
part
وid
. قيمة المَعلمةid
، أيUC_x5XG1OV2P6uZZ5FSM9Ttw
، هي المعرّف الخاص بقناة GoogleDevelopers على YouTube.أسفل المَعلمات، هناك قسم باسم بيانات الاعتماد. يجب أن تعرض القائمة المنسدلة في هذا القسم القيمة مفتاح واجهة برمجة التطبيقات. يستخدم APIs Explorer بيانات اعتماد تجريبية تلقائيًا لتسهيل عملية البدء. ولكنّك ستستخدم مفتاح واجهة برمجة التطبيقات الخاص بك لتشغيل النموذج محليًا.
يعرض الجانب الأيسر من "مستكشف واجهات برمجة التطبيقات بملء الشاشة" علامات تبويب تتضمّن عيّنات من الرموز البرمجية بلغات مختلفة. انقر على علامة التبويب Java.
انسخ نموذج الرمز واحفظه في ملف باسم
src/main/java/ApiExample.java
. تستخدم كل عيّنة اسم الفئة نفسه (ApiExample
) حتى لا تحتاج إلى تعديل ملفbuild.gradle
لتشغيل عيّنات مختلفة.في النموذج الذي نزّلته، ابحث عن السلسلة
YOUR_API_KEY
واستبدلها بمفتاح واجهة برمجة التطبيقات الذي أنشأته في الخطوة 1 من هذا الدليل السريع.تشغيل النموذج من سطر الأوامر في دليل العمل، نفِّذ الأمر التالي:
gradle -q run
يجب أن ينفّذ النموذج الطلب ويطبع الردّ على
STDOUT
.
الخطوة 4: تنفيذ طلب معتمد
في هذه الخطوة، ستعدّل نموذج الرمز البرمجي لكي يسترد معلومات حول قناتك على YouTube بدلاً من استرداد معلومات حول قناة GoogleDevelopers على YouTube. يتطلّب هذا الطلب تفويض المستخدم.
ارجع إلى مستندات طريقة channels.list الخاصة بواجهة برمجة التطبيقات.
في قسم "حالات الاستخدام الشائعة"، انقر على رمز الرمز البرمجي الخاص بالإدخال الثالث في الجدول. حالة الاستخدام هذه هي استدعاء الطريقة
list
للقناة "my channel".مرة أخرى، في الجانب الأيمن من "مستكشف واجهات برمجة التطبيقات بملء الشاشة"، ستظهر لك قائمة بالمعلمات متبوعة بقسم بيانات الاعتماد. ومع ذلك، هناك تغييران عن المثال الذي استرجعت فيه معلومات حول قناة GoogleDevelopers:
في قسم المَعلمات، بدلاً من ضبط قيمة المَعلمة
id
، يجب ضبط قيمة المَعلمةmine
علىtrue
. يطلب هذا النطاق من خادم واجهة برمجة التطبيقات استرداد معلومات حول قناة المستخدم الذي تمّت مصادقته حاليًا.في قسم بيانات الاعتماد، يجب أن تختار القائمة المنسدلة الخيار Google OAuth 2.0.
بالإضافة إلى ذلك، إذا نقرت على الرابط عرض النطاقات، يجب أن يكون النطاق https://www.googleapis.com/auth/youtube.readonly محدّدًا.
كما هو الحال مع المثال السابق، اختَر علامة التبويب Java، وانسخ نموذج الرمز واحفظه في
src/main/java/ApiExample.java
.تشغيل النموذج من سطر الأوامر في دليل العمل، نفِّذ الأمر التالي:
gradle -q run
من المفترض أن يحاول النموذج فتح نافذة أو علامة تبويب جديدة في متصفّحك التلقائي. إذا تعذّر ذلك، انسخ عنوان URL من نافذة الوحدة الطرفية وافتحه يدويًا في المتصفّح.
إذا لم تكن مسجِّلاً الدخول إلى حسابك على Google، سيُطلب منك تسجيل الدخول. إذا كنت مسجّلاً الدخول إلى عدة حسابات على Google، سيُطلب منك اختيار حساب واحد لاستخدامه في عملية التفويض.
انقر على الزر لمنح تطبيقك إذن الوصول إلى النطاقات المحدّدة في نموذج الرمز البرمجي.
ستتم معالجة العيّنة تلقائيًا، ويمكنك إغلاق علامة التبويب في المتصفّح المستخدَمة في عملية المصادقة.
يجب طباعة الردّ من واجهة برمجة التطبيقات مرة أخرى في
STDOUT
.