یک شناسه مشتری OAuth 2.0 دریافت کنید

نمای کلی

برای استفاده از Google Fit برای اندروید، به یک شناسه کلاینت OAuth 2.0 برای برنامه‌های اندروید نیاز دارید.

تمام برنامه‌های اندروید با یک گواهی دیجیتال که کلید خصوصی آن را در اختیار دارید، امضا می‌شوند. برای اطلاعات بیشتر در مورد گواهی‌های دیجیتال، به راهنمای اندروید برای امضای برنامه‌های خود مراجعه کنید.

شناسه‌های کلاینت OAuth اندروید به جفت‌های خاصی از گواهی/بسته مرتبط هستند. شما فقط به یک شناسه برای هر گواهی نیاز دارید، مهم نیست که چند کاربر برای برنامه دارید.

دریافت شناسه برای برنامه شما نیاز به چندین مرحله دارد. این مراحل در زیر شرح داده شده است.

  1. اطلاعات گواهی برنامه خود را پیدا کنید.
  2. یک پروژه را در کنسول API گوگل ایجاد یا اصلاح کنید.
  3. درخواست شناسه کلاینت OAuth 2.0.

اطلاعات گواهی برنامه خود را پیدا کنید

کلید API بر اساس فرم کوتاهی از گواهی دیجیتال برنامه شما، که به عنوان اثر انگشت SHA-1 شناخته می‌شود، ساخته شده است. برای نمایش اثر انگشت SHA-1 برای گواهی خود، ابتدا مطمئن شوید که از گواهی صحیح استفاده می‌کنید. ممکن است دو گواهی داشته باشید:

  • گواهی اشکال‌زدایی : ابزارهای SDK اندروید این گواهی را به‌طور خودکار هنگام ساخت اشکال‌زدایی تولید می‌کنند. فقط از این گواهی با برنامه‌هایی که آزمایش می‌کنید استفاده کنید. سعی نکنید برنامه‌ای را که با گواهی اشکال‌زدایی امضا شده است منتشر کنید. گواهی اشکال‌زدایی با جزئیات بیشتر در بخش «ورود به سیستم در حالت اشکال‌زدایی» در مستندات توسعه‌دهندگان اندروید توضیح داده شده است.
  • گواهی انتشار : ابزارهای Android SDK این گواهی را هنگام ساخت نسخه منتشر شده تولید می‌کنند. همچنین می‌توانید این گواهی را با استفاده از برنامه keytool تولید کنید. از این گواهی زمانی استفاده کنید که آماده انتشار برنامه خود به جهان هستید.

برای نمایش اثر انگشت SHA-1 یک گواهی با استفاده از برنامه keytool با پارامتر -v ، مراحل زیر را دنبال کنید. برای اطلاعات بیشتر در مورد Keytool، به مستندات Oracle مراجعه کنید.

گواهی اشکال‌زدایی

نمایش اثر انگشت گواهی اشکال‌زدایی

  1. فایل debug keystore خود را پیدا کنید. نام فایل debug.keystore است و در اولین باری که پروژه خود را می‌سازید ایجاد می‌شود. به طور پیش‌فرض، این فایل در همان دایرکتوری فایل‌های دستگاه مجازی اندروید (AVD) شما ذخیره می‌شود:

    • macOS و لینوکس : ~/.android/
    • ویندوز ویستا و ویندوز ۷ : C:\Users\your_user_name\.android\
  2. اثر انگشت SHA-1 را فهرست کنید:

    • برای لینوکس یا macOS، یک پنجره ترمینال باز کنید و موارد زیر را وارد کنید:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • برای ویندوز ویستا و ویندوز ۷، دستور زیر را اجرا کنید:

      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. فایل keystore گواهی انتشار خود را پیدا کنید. هیچ مکان یا نام پیش‌فرضی برای keystore انتشار وجود ندارد. اگر هنگام ساخت برنامه خود برای انتشار، آن را مشخص نکنید، .apk . شما بدون امضا باقی می‌ماند و قبل از انتشار باید آن را امضا کنید. برای گواهی انتشار، به نام مستعار گواهی و رمزهای عبور keystore و گواهی نیز نیاز دارید. می‌توانید با وارد کردن موارد زیر، نام‌های مستعار همه کلیدهای موجود در یک keystore را فهرست کنید:

    keytool -list -keystore your_keystore_name

    your_keystore_name با مسیر و نام کامل keystore، شامل پسوند .keystore جایگزین کنید. از شما رمز عبور keystore پرسیده می‌شود. سپس keytool تمام نام‌های مستعار موجود در keystore را نمایش می‌دهد.

  2. دستور زیر را در ترمینال یا خط فرمان وارد کنید:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    به جای your_keystore_name مسیر و نام کامل keystore، شامل پسوند .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 در کنسول API گوگل

برای ایجاد یا تغییر یک پروژه برای برنامه خود در کنسول API گوگل، فعال کردن Fitness API و درخواست شناسه کلاینت OAuth 2.0، این مراحل را دنبال کنید.

اگر می‌خواهید در طول فرآیند راهنمایی شوید و API تناسب اندام را به طور خودکار فعال کنید، کلیک کنید

دریافت شناسه مشتری

روش دیگر، برای فعال کردن Fitness API در کنسول Google API و دریافت شناسه کلاینت OAuth 2.0، این مراحل را دنبال کنید.

  1. به کنسول API گوگل بروید.
  2. یک پروژه انتخاب کنید یا یک پروژه جدید ایجاد کنید. از همان پروژه برای نسخه‌های اندروید و REST برنامه خود استفاده کنید.
  3. برای فعال کردن Fitness API روی ادامه کلیک کنید.
  4. روی رفتن به اعتبارنامه‌ها کلیک کنید.
  5. روی اعتبارنامه‌های جدید کلیک کنید، سپس شناسه کلاینت OAuth را انتخاب کنید.
  6. در قسمت نوع برنامه، اندروید را انتخاب کنید.
  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 اندروید جدید شما در لیست شناسه‌های پروژه شما ظاهر می‌شود. شناسه کلاینت OAuth 2.0 رشته‌ای از کاراکترها است، چیزی شبیه به این:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com