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

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

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

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

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

הפעלת ה-API

לפני שתוכלו להשתמש ב-Library API, עליכם להפעיל אותו בפרויקט שלכם.

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

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

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

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

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

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

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

      http://localhost:8080
      https://myproductionurl.example.com
      
    3. השדה 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 ל-Java שפועלת עם ספריית הלקוח הזו.

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

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

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

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

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

  • תלות בגרשיים:

    כדי להשתמש בספרייה הזו עם 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>
    
  • הורדת גרסה:

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

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

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

    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 ל-Java. למידע נוסף, קראו את המאמר שימוש ב-OAuth 2.0 עם ספריית הלקוח של Google API בשביל Java.

כשיוצרים את ה-PhotoLibrarySettings לאובייקט PhotosLibraryClient, צריך לציין את ההגדרות האישיות של OAuth בשדה CredentialsProvider.

רוצה לנסות כמה דוגמאות?

כדאי לנסות את הקוד שלמטה כדי לבצע את הקריאה הראשונה ל-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 שתוכלו לנסות.