כדי להתחיל להשתמש ב-Google Photos APIs עם ספריית הלקוח של PHP, צריך: להגדיר את ספריית הלקוח בסביבת הפיתוח שלכם. לפני כן, צריך להגדיר את הפרויקט על ידי הפעלת ה-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, צריך להפעיל אותם בפרויקט.
- עוברים אל Google API Console.
- בסרגל התפריטים, בוחרים פרויקט או יוצרים פרויקט חדש.
- כדי לפתוח את ספריית Google API, בתפריט הניווט בוחרים ממשקי API שירותים > ספרייה.
- מחפשים את 'Google Photos APIs'. בוחרים את התוצאה המתאימה ולוחצים על הפעלה.
בקשת מזהה לקוח ב-OAuth 2.0
כדי לבקש מזהה לקוח ב-OAuth ולהגדיר אותו עבור תרגום מכונה. בדוגמה הזו נעשה שימוש באפליקציה שבה כל תהליך OAuth מטופל בצד השרת, כמו זו שבדוגמאות שלנו. תהליך ההגדרה עשוי להשתנות לתרחישי הטמעה אחרים.
- נכנסים אל Google API Console ובוחרים את הפרויקט.
- בתפריט, בוחרים באפשרות APIs & שירותים > פרטי כניסה.
- בדף Credentials, לוחצים על Create Credentials > OAuth client ID.
- בוחרים את סוג האפליקציה. בדוגמה הזו, סוג האפליקציה הוא אפליקציית אינטרנט.
רישום המקורות שמהם האפליקציה מורשית לגשת ל-Google APIs ככה:
- כדי לזהות את מזהה הלקוח, מזינים שם.
בשדה מקורות JavaScript מורשים, מזינים את המקור של אפליקציה. בשדה הזה אי אפשר להשתמש בתווים כלליים לחיפוש.
אפשר להזין כמה מקורות כדי לאפשר לאפליקציה לפעול במכשירים שונים פרוטוקולים, דומיינים או תת-דומיינים. כתובות ה-URL שהזנת יכולות להתחיל בקשת OAuth.
בדוגמה הבאה מוצגות כתובת URL מקומית לפיתוח (בדוגמאות שלנו נעשה שימוש ב-
localhost:8080) וכתובת URL בסביבת הייצור.http://localhost:8080 https://myproductionurl.example.comהשדה Authorized redirect URI הוא נקודת הקצה שמקבלת תשובות משרת OAuth 2.0. בדרך כלל, הוא כולל את סביבת הפיתוח ומצביע על נתיב באפליקציה.
http://localhost:8080/auth/google/callback https://myproductionurl.example.com/auth/google/callbackלוחצים על יצירה.
-
בתיבת הדו-שיח של לקוח OAuth שנוצרת, מורידים את קובץ ה-JSON שמכיל את הגדרות הלקוח. פרטי הלקוח כוללים את הבאים:
- Client-ID
- סוד לקוח
ייעשה שימוש בקובץ ה-JSON הזה בהמשך כדי להגדיר ספריית Google Auth ל-PHP שפועלת עם ספריית הלקוח הזו.
כדי להשיק אפליקציה ציבורית שמשתמשת ב-Photos APIs, האפליקציה צריכה לעבור בדיקה של Google. 'אפליקציה לא מאומתת' ההודעה תופיע בזמן בדיקת האפליקציה, עד מאומת.
הגדרת ספריית הלקוח
ספריית הלקוח של PHP מטפלת בשבילכם בכל הקריאות ל-API בקצה העורפי, ומציגה אובייקטים ידידותיים לעבודה, כולל דוגמאות קוד למשימות נפוצות ב-API. קודם כול, מורידים ומתקינים את ספריית הלקוח של Google Photos API עבור 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 שכדאי לנסות.