הפעלה מהירה ב-Java

המדריך למתחילים מסביר איך להגדיר אפליקציה פשוטה עם פקודת Java ששולחת בקשות ל-YouTube Data API. במדריך למתחילים מוסבר למעשה איך לבצע שתי בקשות API:

  1. תשתמשו במפתח API, שמזהה את האפליקציה שלכם, כדי לאחזר מידע על ערוץ YouTube של Google Developers.
  2. כדי לשלוח בקשה מורשית לאחזור מידע על ערוץ YouTube שלכם, עליכם להשתמש במספר לקוח OAuth 2.0.

דרישות מוקדמות

כדי להריץ את המדריך המהיר הזה, צריך:

  • Java 1.7 ואילך.
  • גרסה 2.3 ואילך.
  • גישה לאינטרנט ולדפדפן אינטרנט.
  • חשבון Google.

שלב 1: מגדירים את הפרויקט ופרטי הכניסה

יוצרים או בוחרים פרויקט ב-API Console. ב-API Console מבצעים את המשימות הבאות עבור הפרויקט שלכם:

  1. בחלונית הספרייה, מחפשים את YouTube Data API v3. לוחצים על כרטיס המוצר של אותו API ומוודאים שה-API מופעל בפרויקט.

  2. בחלונית פרטי הכניסה, צרו שני פרטי כניסה:

    1. יצירת מפתח API משתמשים במפתח ה-API כדי לשלוח בקשות API שלא דורשות הרשאת משתמש. לדוגמה, אין צורך בהרשאת משתמש כדי לאחזר מידע על ערוץ YouTube ציבורי.

    2. יוצרים מזהה לקוח OAuth 2.0 מגדירים את סוג האפליקציה בתור אחר. לבקשות בקשות עם הרשאת משתמש, צריך להשתמש בפרטי כניסה של OAuth 2.0. לדוגמה, נדרשת הרשאת משתמש כדי לאחזר מידע על ערוץ YouTube של המשתמש המאומת.

      יש להוריד את קובץ ה-JSON שמכיל את פרטי הכניסה של OAuth 2.0. לקובץ יש שם כמו client_secret_CLIENTID.json, שבו CLIENTID הוא מזהה הלקוח של הפרויקט.

שלב 2: הכנת הפרויקט

כך מכינים פרויקט ב-Gradle:

  1. בספריית העבודה, מריצים את הפקודות הבאות כדי ליצור מבנה חדש לפרויקט:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  2. מעבירים את קובץ ה-JSON שהורדתם אחרי שיצרתם את מזהה הלקוח ב-OAuth 2.0 לספרייה src/main/resources מתחת לספריית העבודה, ומשנים את השם של הקובץ ל-client_secret.json.

  3. כדאי לפתוח את הקובץ 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'
    }
    
  4. בקובץ build.gradle, אתם צריכים להחליף את המשתנים REVISION ו-CL_VERSION בשני ערכים ממסמכי התיעוד של ספריית הלקוח ב-YouTube Data API. בצילום המסך הבא אפשר לראות את התיעוד של ה-API של YouTube Analytics, שבו מופיעים שני המשתנים בדף.

    צילום מסך של הפניה ל-JavaDoc, שמראה איך למצוא ערכים למשתנים 'REVISION' ו-'CL_VERSION'

שלב 3: הגדרה והפעלה של הדוגמה

בעזרת הווידג'ט של APIs Explorer בחלונית הצדדית תוכלו לקבל קוד לדוגמה לאחזור מידע על ערוץ YouTube של Google Developers. הבקשה הזו משתמשת במפתח API כדי לזהות את האפליקציה שלכם, והיא לא דורשת הרשאה של משתמש או הרשאות מיוחדות מהמשתמש שמריץ את הדוגמה.

  1. פותחים את התיעוד לגבי שיטת channels.list ב-API.
  2. בדף הזה, הקטע "תרחישים נפוצים" מכיל טבלה שמסבירה כמה דרכים נפוצות לשימוש בשיטה. הרישום הראשון בטבלה הוא לרישום תוצאות לפי מזהה ערוץ.

    לוחצים על סמל הקוד של פרופיל העסק הראשון כדי לפתוח ולמלא את ה-API במסך מלא.

    תמונה שבה מוצג המיקום של הקישור לסמל הקוד בטבלה, שבו מפורטים התרחישים לדוגמה ב-channels.list. הטקסט החלופי לתמונה הזו מזהה את התמונה כסמל קוד, ומציין את תרחיש השימוש שמשויך לקישור הזה.

  3. צד ימין של APIs במסך מלא של Explorer מציג את הדברים הבאים:

    1. מתחת לכותרת בקשת פרמטרים, מופיעה רשימה של פרמטרים שנתמכים בשיטה. יש להגדיר את ערכי הפרמטרים part ו-id. ערך הפרמטר id, UC_x5XG1OV2P6uZZ5FSM9Ttw, הוא המזהה של ערוץ YouTube ב-Google Developers.

    2. מתחת לפרמטרים יש קטע בשם פרטי כניסה. בתפריט הנפתח בקטע הזה צריך להופיע הערך API API. ה-APIs Explorer משתמש בפרטי כניסה להדגמה כברירת מחדל כדי להקל על תחילת העבודה. אבל תשתמשו במפתח API משלכם כדי להריץ את הדוגמה באופן מקומי.

      תמונה שמוצגת עבורה 'Credentials' ב-APIs במסך מלא, ובתפריט הנפתח עם האפשרות 'מפתח API'.

  4. בצד שמאל של ה-APIs של מסך מלא מוצגות כרטיסיות עם דוגמאות קוד בשפות שונות. בוחרים בכרטיסייה Java.

  5. מעתיקים את דוגמת הקוד ושומרים אותה בקובץ בשם src/main/java/ApiExample.java. כל דגימה משתמשת באותו שם מחלקה (ApiExample) כך שאין צורך לשנות את הקובץ build.gradle כדי להפעיל דוגמאות שונות.

  6. בדוגמה שהורדתם, מאתרים את המחרוזת YOUR_API_KEY ומחליפים אותה במפתח ה-API שיצרתם בשלב 1 של המדריך למתחילים.

  7. הרצת הדוגמה משורת הפקודה. בספריית העבודה:

    gradle -q run

  8. הדוגמה צריכה לבצע את הבקשה ולהדפיס את התגובה ב-STDOUT.

שלב 4: הרצת בקשה מורשית

בשלב הזה, תערכו שינויים בדוגמת הקוד כך שבמקום לאחזר מידע על ערוץ YouTube של Google Developers, הוא יאחזר מידע על ערוץ שלכם ב-YouTube. לבקשה זו נדרשת הרשאת משתמש.

  1. חזרו למסמכי התיעוד של שיטת channels.list ב-API.

  2. בקטע "תרחישים נפוצים", לחצו על סמל הקוד של הדף השלישי בטבלה. תרחיש לדוגמה כזה הוא להפעיל את השיטה list ל'ערוץ שלי'.

  3. שוב, בצד ימין של ה-API במסך מלא של Explorer, תוצג רשימת פרמטרים ואחריה הקטע Credentials. עם זאת, יש שני שינויים מהדוגמה שבה אחזרתם מידע על ערוץ GoogleDevelopers:

    1. בקטע הפרמטרים, במקום הערך של הפרמטר id, צריך להגדיר את ערך הפרמטר mine כ-true. כך השרת של ה-API יכול לאחזר מידע על הערוץ של המשתמש המאומת כרגע.

    2. בקטע Credentials, התפריט הנפתח צריך לבחור את האפשרות של Google OAuth 2.0.

      כמו כן, אם לוחצים על הקישור Show scopes, צריך לסמן את ההיקף בכתובת https://www.googleapis.com/auth/youtube.readonly.

      תמונה שמציגה היקפים ב-APIs Explorer במסך מלא, ואת האפשרות להשתמש בפרטי הכניסה 'Google OAuth 2.0'.

  4. כמו בדוגמה הקודמת, בחרו בכרטיסייה Java, העתיקו את דוגמת הקוד ושמרו אותה ב-src/main/java/ApiExample.java.

  5. הרצת הדוגמה משורת הפקודה. בספריית העבודה:

    gradle -q run

  6. בדוגמה הזו יש לנסות לפתוח חלון או כרטיסייה חדשים בדפדפן ברירת המחדל. אם הבעיה לא נפתרה, העתיקו את כתובת ה-URL מהמסוף ותפתחו אותה ידנית בדפדפן.

    אם אתם עדיין לא מחוברים לחשבון Google, תתבקשו להתחבר. אם אתם מחוברים למספר חשבונות Google, תתבקשו לבחור חשבון אחד שישמש להרשאה.

  7. לחצו על הלחצן כדי לתת לאפליקציה גישה להיקפים שצוינו בדוגמת הקוד.

  8. הדגימה תמשיך באופן אוטומטי, ותוכלו לסגור את כרטיסיית הדפדפן שבה נעשה שימוש בתהליך האימות.

    תגובת ה-API צריכה להיות מודפסת שוב אל STDOUT.

קריאה נוספת