קבלת מזהה לקוח ב-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 יוצרים את האישור הזה באופן אוטומטי כשמבצעים גרסת build לניפוי באגים. צריך להשתמש באישור הזה רק באפליקציות שבודקים. אל תנסו לפרסם אפליקציה שחתומה באמצעות אישור לניפוי באגים. האישור לניפוי באגים מתואר בפירוט רב יותר בקטע חתימה במצב ניפוי באגים במאמרי העזרה למפתחים של Android.
  • אישור הפצה: הכלים של Android SDK יוצרים את האישור הזה כשיוצרים גרסת build להפצה. אפשר גם ליצור את האישור הזה באמצעות התוכנית keytool. צריך להשתמש באישור הזה כשמוכנים להפיץ את האפליקציה לכל העולם.

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

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

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

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

    • 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. מאתרים את קובץ מאגר המפתחות של אישור הגרסה. אין מיקום או שם שמוגדרים כברירת מחדל למאגר המפתחות של הגרסה. אם לא תציינו מפתח כשאתם יוצרים את האפליקציה להפצה, ה-.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. לוחצים על מעבר לפרטי הכניסה.
  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. לוחצים על יצירה. מזהה הלקוח החדש של Android ב-OAuth 2.0 והסוד שלו מופיעים ברשימת המזהים של הפרויקט. מזהה לקוח OAuth 2.0 הוא מחרוזת של תווים, שנראית בערך כך:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com