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

סקירה כללית

כדי להשתמש ב-Google Fit ל-Android, צריך מזהה לקוח ב-OAuth 2.0 לאפליקציות Android.

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

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

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

  1. איתור פרטי האישור של האפליקציה.
  2. יוצרים או משנים פרויקט ב-Google API Console.
  3. שליחת בקשה למזהה לקוח ב-OAuth 2.0.

איפה אפשר למצוא את פרטי האישור של האפליקציה

מפתח ה-API מבוסס על טופס קצר של האישור הדיגיטלי של האפליקציה, שנקרא טביעת אצבע מסוג SHA-1. כדי להציג את טביעת האצבע של אישור SHA-1, קודם צריך לוודא שמשתמשים באישור הנכון. יכול להיות שיש לכם שני אישורים:

  • אישור לניפוי באגים: כלי Android SDK יוצרים את האישור הזה באופן אוטומטי כשמבצעים בניית ניפוי באגים. השתמשו באישור הזה רק עם אפליקציות שאתם בודקים. אל תנסו לפרסם אפליקציה שחתמתם עליה באמצעות אישור ניפוי באגים. תיאור מפורט יותר של אישור ניפוי הבאגים מופיע במאמר חתימה במצב ניפוי באגים במסמכי התיעוד למפתחים של Android.
  • אישור גרסה: כלי Android SDK יוצרים את האישור הזה כשמבצעים בניית גרסה. אפשר גם ליצור את האישור הזה באמצעות התוכנה keytool. משתמשים באישור הזה כשמוכנים להשיק את האפליקציה לכל העולם.

כדי להציג את טביעת האצבע של אישור SHA-1 באמצעות התוכנה keytool עם הפרמטר -v, פועלים לפי השלבים הבאים. מידע נוסף על Keytool זמין במסמכי התיעוד של Oracle.

אישור לניפוי באגים

הצגת טביעת האצבע של אישור ניפוי הבאגים

  1. מאתרים את קובץ מאגר המפתחות לניפוי באגים. שם הקובץ הוא debug.keystore, והוא נוצר בפעם הראשונה שאתם יוצרים את הפרויקט. כברירת מחדל, הוא מאוחסן באותה ספריה שבה נמצאים הקבצים של המכשיר הווירטואלי (AVD) של Android:

    • macOS ו-Linux: ~/.android/
    • Windows Vista ו-Windows 7: C:\Users\your_user_name\.android\
  2. מציגים את טביעת האצבע SHA-1:

    • ב-Linux או ב-macOS, פותחים חלון טרמינל ומזינים את הפקודה הבאה:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • ב-Windows Vista וב-Windows 7, מריצים את הפקודה:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

הפלט אמור להיראות כך:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
אישור שחרור

הצגת טביעת האצבע של אישור ההפצה

  1. מאתרים את קובץ מאגר המפתחות של אישור ההפצה. אין מיקום או שם שמוגדרים כברירת מחדל למאגר המפתחות של הגרסה. אם לא מציינים מפתח כשמבצעים build של האפליקציה לצורך פרסום, ה-build לא יהיה חתום, ותצטרכו לחתום עליו לפני שתוכלו לפרסם אותו..apk בנוסף, בשביל אישור ההפצה צריך גם את הכינוי של האישור ואת הסיסמאות של מאגר המפתחות והאישור. כדי לראות את כל הכינויים של המפתחות במאגר המפתחות, מזינים:

    keytool -list -keystore your_keystore_name

    מחליפים את your_keystore_name בנתיב המלא ובשם של מאגר המפתחות, כולל התוסף .keystore. תתבקשו להזין את הסיסמה של מאגר המפתחות. ואז keytool מוצגים כל הכינויים במאגר המפתחות.

  2. מזינים את הפקודה הבאה בטרמינל או בשורת הפקודה:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    מחליפים את your_keystore_name בנתיב המלא ובשם של מאגר המפתחות, כולל התוסף .keystore. מחליפים את your_alias_name בכינוי שהקציתם לאישור כשנוצר.

הפלט אמור להיראות כך:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

השורה שמתחילה ב-SHA1 מכילה את טביעת האצבע של האישור מסוג SHA-1. טביעת האצבע היא רצף של 20 מספרים הקסדצימליים בני שתי ספרות, שמופרדים באמצעות נקודתיים.

שליחת בקשה למזהה לקוח OAuth 2.0 ב-Google API Console

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

אם רוצים לקבל הדרכה בתהליך ולהפעיל את Fitness API באופן אוטומטי, לוחצים על

איך מקבלים מזהה לקוח

אפשר גם לפעול לפי השלבים הבאים כדי להפעיל את Fitness API ב-Google API Console ולקבל מזהה לקוח של OAuth 2.0.

  1. עוברים אל Google API Console.
  2. בוחרים פרויקט או יוצרים פרויקט חדש. משתמשים באותו פרויקט לגרסאות Android ו-REST של האפליקציה.
  3. לוחצים על המשך כדי להפעיל את Fitness API.
  4. לוחצים על Go to credentials (מעבר אל פרטי הכניסה).
  5. לוחצים על New credentials ואז על OAuth Client ID.
  6. בקטע סוג האפליקציה בוחרים באפשרות Android.
  7. בתיבת הדו-שיח שמופיעה, מזינים את טביעת האצבע של SHA-1 ואת שם החבילה של האפליקציה. לדוגמה:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

    com.example.android.fit-example

  8. לוחצים על יצירה. מזהה הלקוח החדש ב-OAuth 2.0 ל-Android והסוד שלו מופיעים ברשימת המזהים של הפרויקט. מזהה לקוח ב-OAuth 2.0 הוא מחרוזת של תווים, למשל:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com