במדריך הזה למתחילים מוסבר איך להגדיר אפליקציית שורת פקודה פשוטה ב-Java ששולחת בקשות אל YouTube Data API. במדריך הזה למתחילים מוסבר איך ליצור שתי בקשות API:
- תשתמשו במפתח API שמזהה את האפליקציה שלכם כדי לאחזר מידע על ערוץ YouTube של GoogleDevelopers.
- תשתמשו במזהה לקוח ב-OAuth 2.0 כדי לשלוח בקשה מאושרת לאחזור מידע על ערוץ YouTube שלכם.
דרישות מוקדמות
כדי להפעיל את המדריך למתחילים הזה, אתם צריכים:
- Java 1.7 ואילך.
- Gradle 2.3 ואילך.
- גישה לאינטרנט ולדפדפן אינטרנט.
- חשבון Google.
שלב 1: מגדירים את הפרויקט ואת פרטי הכניסה
יוצרים פרויקט ב-API Console או בוחרים פרויקט קיים. מבצעים את המשימות הבאות בפרויקט ב-API Console:
בחלונית הספרייה, מחפשים את YouTube Data API v3. לוחצים על הרישום של ה-API ומוודאים שהוא מופעל בפרויקט.
בחלונית credentials, יוצרים שני סוגים של פרטי כניסה:
יצירת מפתח API תשתמשו במפתח ה-API כדי לשלוח בקשות 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 בחלונית הצדדית כדי לקבל קוד לדוגמה לאחזור מידע על ערוץ YouTube של GoogleDevelopers. הבקשה הזו משתמשת במפתח API כדי לזהות את האפליקציה, והיא לא דורשת הרשאת משתמש או הרשאות מיוחדות מהמשתמש שמפעיל את הדוגמה.
- פותחים את מאמרי העזרה של ה-API לשיטה channels.list.
בקטע 'תרחישים נפוצים לדוגמה' בדף הזה יש טבלה עם הסברים על כמה דרכים נפוצות לשימוש בשיטה. הרישום הראשון בטבלה מיועד לתוצאות של רישום לפי מזהה ערוץ.
לוחצים על סמל הקוד של הרישום הראשון כדי לפתוח את Google APIs Explorer ולמלא אותו.
בצד ימין של API Explorer במסך מלא מוצגים הדברים הבאים:
מתחת לכותרת Request parameters מופיעה רשימה של פרמטרים שהשיטה תומכת בהם. צריך להגדיר את ערכי הפרמטרים
part
ו-id
. ערך הפרמטרid
,UC_x5XG1OV2P6uZZ5FSM9Ttw
, הוא המזהה של ערוץ YouTube של GoogleDevelopers.מתחת לפרמטרים, יש קטע בשם Credentials (פרטי כניסה). בתפריט הנפתח בקטע הזה אמור להופיע הערך API key. כברירת מחדל, הכלי APIs Explorer משתמש בפרטי כניסה להדגמה כדי שיהיה קל יותר להתחיל. אבל תצטרכו להשתמש במפתח API משלכם כדי להריץ את הדוגמה באופן מקומי.
בצד שמאל של API Explorer במסך המלא מוצגות כרטיסיות עם דוגמאות קוד בשפות שונות. בוחרים בכרטיסייה Java.
מעתיקים את הקוד לדוגמה ושומרים אותו בקובץ בשם
src/main/java/ApiExample.java
. כל דוגמה משתמשת באותו שם מחלקה (ApiExample
) כדי שלא תצטרכו לשנות את הקובץbuild.gradle
כדי להריץ דוגמאות שונות.בדוגמה שהורדתם, מחפשים את המחרוזת
YOUR_API_KEY
ומחליפים אותה במפתח ה-API שיצרתם בשלב 1 של המדריך למתחילים.מריצים את הדוגמה משורת הפקודה. בספריית העבודה, מריצים את הפקודה:
gradle -q run
הדוגמה צריכה להריץ את הבקשה ולהדפיס את התשובה ל-
STDOUT
.
שלב 4: מריצים בקשה מורשית
בשלב הזה, תשנו את דוגמת הקוד כך שבמקום לאחזר מידע על ערוץ YouTube של GoogleDevelopers, היא תאחזר מידע על ערוץ YouTube שלכם. הבקשה הזו מחייבת הרשאת משתמש.
חוזרים למאמרי העזרה של ה-API בנושא השיטה channels.list.
בקטע 'תרחישי שימוש נפוצים', לוחצים על סמל הקוד של הרשימה השלישית בטבלה. תרחיש השימוש הזה הוא קריאה לשיטה
list
עבור 'הערוץ שלי'.שוב, בצד ימין של הכלי APIs Explorer במסך מלא, תופיע רשימה של פרמטרים ואחריה הקטע Credentials. עם זאת, יש שני שינויים מהדוגמה שבה אחזרתם מידע על הערוץ GoogleDevelopers:
בקטע הפרמטרים, במקום להגדיר את ערך הפרמטר
id
, צריך להגדיר את ערך הפרמטרmine
ל-true
. הפקודה הזו מורה לשרת ה-API לאחזר מידע על הערוץ של המשתמש שאומת כרגע.בקטע Credentials (פרטי כניסה), בתפריט הנפתח, בוחרים באפשרות Google OAuth 2.0.
בנוסף, אם לוחצים על הקישור הצגת היקפי הרשאות, היקף ההרשאות https://www.googleapis.com/auth/youtube.readonly אמור להיות מסומן.
כמו בדוגמה הקודמת, בוחרים בכרטיסייה Java, מעתיקים את דוגמת הקוד ושומרים אותה ב-
src/main/java/ApiExample.java
.מריצים את הדוגמה משורת הפקודה. בספריית העבודה, מריצים את הפקודה:
gradle -q run
הדוגמה אמורה לנסות לפתוח חלון או כרטיסייה חדשים בדפדפן ברירת המחדל. אם הפעולה נכשלת, מעתיקים את כתובת ה-URL מהטרמינל ופותחים אותה בדפדפן באופן ידני.
אם עדיין לא נכנסתם לחשבון Google, תתבקשו להיכנס. אם אתם מחוברים לכמה חשבונות Google, תתבקשו לבחור חשבון אחד שבו תרצו להשתמש לצורך ההרשאה.
לוחצים על הלחצן כדי להעניק לאפליקציה גישה להיקפי ההרשאות שצוינו בדוגמת הקוד.
הדגימה תמשיך באופן אוטומטי, ואפשר לסגור את כרטיסיית הדפדפן שבה נעשה שימוש בתהליך האימות.
תגובת ה-API צריכה להיות מודפסת שוב ב-
STDOUT
.