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

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

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

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

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

הפעלת ה-API

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

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

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

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

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

    1. כדי לזהות את מזהה הלקוח, מזינים שם.
    2. בשדה Authorized JavaScript Sources (מקורות 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 ל-PHP שפועלת עם ספריית הלקוח הזו.

לפני שמפעילים אפליקציה ציבורית שניגשת ל-Library API, האפליקציה חייבת להיבדק על ידי Google. 'אפליקציה לא מאומתת' ההודעה תופיע בזמן בדיקת האפליקציה, עד מאומת.

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

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

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

להשתמש בcomposer כדי לכלול את הספרייה כתלות בסביבת הפיתוח. להריץ את בפקודה הבאה כדי להוסיף את הספרייה לתצורת הפרויקט ולהוריד אותה אותו לספרייה vendor/.

composer require google/photos-library

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

הגדרת פרטי כניסה של OAuth2 ל-PHP

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

שימוש בפרטי הכניסה לאימות שהוחזרו על ידי ספריית האימות בזמן ההגדרה PhotosLibraryClient.

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

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

use Google\Auth\Credentials\UserRefreshCredentials;
use Google\Photos\Library\V1\PhotosLibraryClient;
use Google\Photos\Library\V1\PhotosLibraryResourceFactory;

try {
    // Use the OAuth flow provided by the Google API Client Auth library
    // to authenticate users. See the file /src/common/common.php in the samples for a complete
    // authentication example.
    $authCredentials = new UserRefreshCredentials( /* Add your scope, client secret and refresh token here */ );

    // Set up the Photos Library Client that interacts with the API
    $photosLibraryClient = new PhotosLibraryClient(['credentials' => $authCredentials]);

    // Create a new Album object with at title
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");

    // Make the call to the Library API to create the new album
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);

    // The creation call returns the ID of the new album
    $albumId = $createdAlbum->getId();
} catch (\Google\ApiCore\ApiException $exception) {
    // Error during album creation
} catch (\Google\ApiCore\ValidationException $e) {
    // Error during client creation
    echo $exception;
}

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