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

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

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

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

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

  1. עוברים אל מסוף Google API.
  2. בוחרים פרויקט קיים או יוצרים פרויקט חדש. משתמשים באותו פרויקט לגרסאות Android ו-REST של האפליקציה.
  3. לוחצים על המשך כדי להפעיל את Fitness API.
  4. לוחצים על Go to credentials.
  5. לוחצים על New credentials ובוחרים באפשרות OAuth Client ID.
  6. בקטע Application type בוחרים באפשרות 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