תחילת העבודה עם ספריית הלקוח של Java

כדי להתחיל להשתמש בממשקי ה-API של Google Photos באמצעות ספריית הלקוח של Java, צריך להגדיר את ספריית הלקוח בסביבת הפיתוח. לפני כן, צריך להגדיר את הפרויקט על ידי הפעלת ה-API דרך מסוף Google API ומגדירים מזהה לקוח OAuth 2.0.

האפליקציה שלכם יוצרת אינטראקציה עם Google Photos בשם משתמש ב-Google Photos. לדוגמה, כשאתם יוצרים אלבומים בספרייה של משתמש ב-Google Photos או מעלים פריטים של מדיה לחשבון Google Photos של משתמש, המשתמש מאשר את בקשות ה-API האלה באמצעות פרוטוקול OAuth 2.0.

מזהה הלקוח של OAuth 2.0 מאפשר למשתמשי האפליקציה להיכנס, לבצע אימות ולהשתמש בממשקי ה-API של Photos. ממשקי ה-API של Photos לא תומכים חשבונות שירות; כדי להשתמש ב-API הזה, המשתמשים חייבים להיכנס לחשבון Google תקין חשבון.

הגדרת האפליקציה

הפעלת ה-API

כדי להשתמש בממשקי ה-API של Photos, צריך להפעיל אותם בפרויקט.

  1. נכנסים למסוף Google API.
  2. בסרגל התפריטים, בוחרים פרויקט או יוצרים פרויקט חדש.
  3. כדי לפתוח את ספריית Google API, בתפריט הניווט בוחרים ממשקי API שירותים > ספרייה.
  4. מחפשים את Google Photos APIs. בוחרים את התוצאה המתאימה ולוחצים על הפעלה.

בקשת מזהה לקוח ב-OAuth 2.0

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

  1. עוברים אל Google API Console ובוחרים את הפרויקט.
  2. בתפריט, בוחרים באפשרות APIs & Services (ממשקי API ושירותים) > Credentials (פרטי כניסה).
  3. בדף Credentials, לוחצים על Create Credentials > OAuth client ID.
  4. בוחרים את סוג האפליקציה. בדוגמה הזו, סוג האפליקציה הוא אפליקציית אינטרנט.
  5. רושמים את המקור שממנו לאפליקציה מותר לגשת לממשקי Google API באופן הבא:

    1. כדי לזהות את מזהה הלקוח, מזינים שם.
    2. בשדה מקורות JavaScript מורשים, מזינים את המקור של אפליקציה. בשדה הזה אי אפשר להשתמש בתווים כלליים לחיפוש.

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

      בדוגמה הבאה מוצגות כתובת URL מקומית לפיתוח (בדוגמאות שלנו נעשה שימוש ב-localhost:8080) וכתובת URL בסביבת הייצור.

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. השדה Authorized Redirect URI הוא נקודת הקצה שמקבלת תגובות משרת OAuth 2.0. בדרך כלל, העדכון הזה כולל ואת סביבת הפיתוח ומצביעה על נתיב באפליקציה.

      http://localhost:8080/auth/google/callback
      https://myproductionurl.example.com/auth/google/callback
      
    4. לוחצים על יצירה.

  1. מתיבת הדו-שיח של לקוח OAuth שמתקבלת, מורידים את קובץ ה-JSON שמכיל את תצורת הלקוח שלך. פרטי הלקוח כוללים את הבאים:

    • Client-ID
    • סוד לקוח

    קובץ ה-JSON הזה ישמש בהמשך כדי להגדיר את Google Auth Library עבור Java שתעבוד עם ספריית הלקוח הזו.

כדי להשיק אפליקציה ציבורית שמשתמשת ב-Photos APIs, האפליקציה צריכה לעבור בדיקה של Google. ההודעה 'אפליקציה לא מאומתת' תופיע במסך כשבודקים את האפליקציה, עד שהיא תאומת.

הגדרת ספריית הלקוח

ספריית הלקוח של Java מטפלת עבורכם בכל הקריאות ל-API בקצה העורפי, וחושפת את המשתמשים אובייקטים ידידותיים לעבודה, כולל דוגמאות קוד לכמה משימות API נפוצות. קודם כול, מורידים ומתקינים את ספריית הלקוח של ממשקי ה-API של Google Photos ל-Java עם יחסי התלות מ-GitHub. לאחר מכן, מגדירים את פרטי הכניסה של OAuth2 ל-Java.

אפשרויות הורדה

יש כמה דרכים להוריד את ספריית הלקוח:

  • יחסי תלות ב-Gradle:

    כדי להשתמש בספרייה הזו עם Gradle, צריך להוסיף את התלות הבאה קובץ build.gradle.

    repositories {
      mavenCentral()
    }
    dependencies {
      compile 'com.google.photos.library:google-photos-library-client:1.7.3'
    }
    
  • תלות של Maven:

    כדי להשתמש בספרייה הזו עם Maven, מוסיפים את הקוד הבא לקובץ pom.xml של Maven.

    <dependency>
      <groupId>com.google.photos.library</groupId>
      <artifactId>google-photos-library-client</artifactId>
      <version>1.7.3</version>
    </dependency>
    
  • כדי להוריד גרסה:

    דף הגרסאות מכיל פריטי מידע שונים לכל גרסה של הספרייה, כולל קובצי jar.

  • משכפלים את המאגר:

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

    1. מריצים את הפקודה git clone https://github.com/google/java-photoslibrary.git בשורת הפקודה.
    2. תקבלו ספרייה של java-photoslibrary. כדי להגיע ליעד, מריצים את cd java-photoslibrary
    3. יש לפתוח את הקובץ build.gradle בסביבת הפיתוח המשולבת (IDE) או להריץ את ./gradlew assemble שורת הפקודה כדי לבנות את הפרויקט. אפשר לראות אותן בכתובת ./gradlew tasks של המשימות הזמינות.

הגדרת פרטי הכניסה ל-OAuth2 עבור Java

ספריית הלקוח הזו פועלת עם Google Auth Library ל-Java. למידע נוסף, תוכלו לקרוא את המאמר שימוש ב-OAuth 2.0 עם ספריית הלקוח של Google API ל-Java.

מציינים את הגדרת OAuth של הלקוח ב-CredentialsProvider כשיוצרים את PhotoLibrarySettings לאובייקט PhotosLibraryClient.

כדאי לנסות כמה דוגמאות

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

// Set up the Photos Library Client that interacts with the API
PhotosLibrarySettings settings =
     PhotosLibrarySettings.newBuilder()
    .setCredentialsProvider(
        FixedCredentialsProvider.create(/* Add credentials here. */)) 
    .build();

try (PhotosLibraryClient photosLibraryClient =
    PhotosLibraryClient.initialize(settings)) {

    // Create a new Album  with at title
    Album createdAlbum = photosLibraryClient.createAlbum("My Album");

    // Get some properties from the album, such as its ID and product URL
    String id = album.getId();
    String url = album.getProductUrl();

} catch (ApiException e) {
    // Error during album creation
}

יש עוד דוגמאות ב-GitHub שאפשר לנסות.