במדריך הזה מוסבר איך להפעיל את הגישה ל-API ל-REST של כושר, לקבל אסימוני גישה ל-OAuth ולהפעיל את שיטות ה-API באמצעות בקשות HTTP.
כדי להשתמש ב-Fitness REST API, חשוב להבין את העקרונות הבסיסיים של שירותי אינטרנט מסוג RESTful ושל ייצוגי JSON.
קבל חשבון Google
כדי להשתמש ב-Fitness REST API, נדרש חשבון Google. אם כבר יש לך חשבון, הכול מוכן. כדאי גם ליצור חשבון Google נפרד למטרות בדיקה.
בקשת מזהה לקוח ב-OAuth 2.0
יש לבצע את השלבים הבאים כדי לבקש מזהה לקוח OAuth 2.0 עבור כושר API.
- נכנסים אל Google API Console.
- בוחרים פרויקט קיים או יוצרים פרויקט חדש. צריך להשתמש באותו פרויקט לגרסאות Android ו-REST של האפליקציה.
- לחצו על המשך כדי להפעיל את כושר API.
- לוחצים על לפרטי הכניסה.
- לוחצים על פרטי כניסה חדשים ובוחרים באפשרות מזהה לקוח OAuth.
- בקטע Application type (סוג האפליקציה), בוחרים באפשרות Web application.
- בקטע מקורות JavaScript מורשים, מזינים את כתובת ה-URL הבסיסית של האתר שממנו יגיעו הבקשות (לדוגמה,
https://developers.google.com
היא כתובת ה-URL שמשמשת את 'מגרש המשחקים של OAuth'). - בקטע URI של הפניה אוטומטית מורשית, מזינים את כתובת ה-URL של האתר שבו יטופלו התשובות (לדוגמה,
https://developers.google.com/oauthplayground
היא כתובת ה-URL שמשמשת את מגרש המשחקים של OAuth). לוחצים על יצירה. מזהה הלקוח והסוד החדשים של OAuth 2.0 מופיעים ברשימת המזהים של הפרויקט. מזהה לקוח ב-OAuth 2.0 הוא מחרוזת של תווים, בערך כך:
780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com
התנסות ב-API ל-REST ב-OAuth Playground
מגרש המשחקים של OAuth הוא הדרך הקלה ביותר להכיר את ה-API ל-REST של Fitness באמצעות שליחת בקשות HTTP וצפייה בתגובות לפני שכותבים קוד לקוח.
כדי לאשר את ה-API ל-REST של כושר ב-Playground של OAuth:
- עוברים אל מגרש המשחקים של OAuth.
- בקטע שלב 1 בחירת ממשקי API והרשאה, מרחיבים את Fitness v1 ובוחרים את היקפי הכושר שבהם רוצים להשתמש.
- לוחצים על הלחצן Authorize APIs, בוחרים את הפרויקט שבו רוצים להשתמש ב-Google API Console ולוחצים על Allow בהודעה שמופיעה. תהיה לך אפשרות לגשת לנתונים שמשויכים לחשבון Google API Console שנבחר ולשנות אותם.
- לוחצים על הלחצן קוד ההרשאה של Exchange לאסימונים. מגרש המשחקים של OAuth כולל את הכותרת הזו באופן אוטומטי בכותרת הבקשה
Authorization:
כששולחים בקשות HTTP. שימו לב שהתוקף של אסימון הגישה יפוג לאחר 60 דקות (3600 שניות).
שליחת בקשות HTTP
בדוגמאות הבאות מוסבר איך לשלוח בקשות HTTP כדי לפרט את כל מקורות הנתונים הזמינים וליצור מקור נתונים חדש. ל-Fitness REST API, פורמט ה-URI הוא:
https://www.googleapis.com/fitness/v1/resourcePath?parameters
כדי להציג רשימה של כל מקורות הנתונים הזמינים:
- בשיטת HTTP, בוחרים באפשרות GET.
- בשדה URI של בקשה, הזן
https://www.googleapis.com/fitness/v1/users/me/dataSources
- לוחצים על שליחת הבקשה.
הבקשה והתגובה יופיעו בצד שמאל של הדף. אם הבקשה תאושר, התשובה תציג את מקור הנתונים מהדוגמה הקודמת בפורמט JSON.
כדי ליצור מקור נתונים:
- בקטע שיטת HTTP, בוחרים באפשרות POST.
- בשדה URI של בקשה, הזן
https://www.googleapis.com/fitness/v1/users/me/dataSources
- לוחצים על הזנת גוף הבקשה.
בחלון Request Body, מעתיקים ומדביקים את קובץ ה-JSON הבא:
{ "dataStreamName": "MyDataSource", "type": "derived", "application": { "detailsUrl": "http://example.com", "name": "Foo Example App", "version": "1" }, "dataType": { "field": [ { "name": "steps", "format": "integer" } ], "name": "com.google.step_count.delta" }, "device": { "manufacturer": "Example Manufacturer", "model": "ExampleTablet", "type": "tablet", "uid": "1000001", "version": "1" } }
בחלון בקשת גוף, לוחצים על סגירה.
לוחצים על שליחת הבקשה.
הבקשה והתגובה יופיעו בצד שמאל של הדף. הבקשה כוללת את אסימון הגישה ל-OAuth בכותרת Authorization
:
Authorization: Bearer ya29.OAuthTokenValue
אם הבקשה תתבצע בהצלחה, השורה הראשונה בתגובה תהיה:
HTTP/1.1 200 OK
שימוש ב-cURL כדי לגשת ל-Fit REST API
אפשר להשתמש בכלי שורת הפקודה cURL על מנת לגשת ל-Fit REST API. צריך אסימון גישה ל-OAuth כדי לשלוח בקשות באמצעות cURL (ראו instructions קודמות). חשוב לזכור שהתוקף של אסימוני גישה פג אחרי שעה. בדוגמה הבאה מוצג סקריפט bash פשוט שמציג רשימה של כל מקורות הנתונים.
#!/bin/bash ACCESS_TOKEN="" curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ https://www.googleapis.com/fitness/v1/users/me/dataSources
השלבים הבאים
מידע נוסף על ה-API ל-REST מופיע בדפים הבאים: