از OAuth استفاده کنید

Places Insights API از استفاده از OAuth 2.0 برای احراز هویت پشتیبانی می کند. Google از سناریوهای معمول OAuth 2.0 مانند موارد مربوط به سرور وب پشتیبانی می کند.

این سند نحوه ارسال یک نشانه OAuth به تماس API Places Insights در محیط توسعه خود را توضیح می دهد. برای دستورالعمل‌های استفاده از OAuth در محیط تولید ، به احراز هویت در Google مراجعه کنید.

قبل از شروع

قبل از شروع استفاده از Places Insights API، به پروژه ای با حساب صورتحساب و فعال بودن API Places Insights نیاز دارید. توصیه می‌کنیم چندین مالک پروژه و مدیر صورت‌حساب ایجاد کنید تا همیشه فردی با این نقش‌ها در اختیار تیمتان باشد. برای کسب اطلاعات بیشتر، به راه‌اندازی در Cloud Console مراجعه کنید.

درباره OAuth

راه های زیادی برای ایجاد و مدیریت توکن های دسترسی با OAuth بر اساس محیط استقرار شما وجود دارد.

به عنوان مثال، سیستم Google OAuth 2.0 از تعاملات سرور به سرور پشتیبانی می کند، مانند تعاملات بین برنامه شما و سرویس Google. برای این سناریو شما به یک حساب سرویس نیاز دارید، که یک حساب کاربری است که به برنامه شما تعلق دارد به جای یک کاربر نهایی. برنامه شما از طرف حساب سرویس با Google API تماس می گیرد، بنابراین کاربران مستقیماً درگیر نمی شوند. برای اطلاعات بیشتر در مورد روش‌های احراز هویت، به احراز هویت در Google مراجعه کنید.

از طرف دیگر، ممکن است از Places Insights API به عنوان بخشی از یک برنامه تلفن همراه Android یا iOS استفاده کنید. برای اطلاعات کلی در مورد استفاده از OAuth با Places Insights API، از جمله اطلاعات مربوط به مدیریت نشانه‌های دسترسی برای محیط‌های استقرار مختلف، به استفاده از OAuth 2.0 برای دسترسی به Google API مراجعه کنید.

درباره دامنه های OAuth

برای استفاده از OAuth با Places Insights API، به نشانه OAuth باید محدوده تخصیص داده شود:

  • https://www.googleapis.com/auth/cloud-platform

مثال: تماس‌های REST API را در محیط توسعه محلی خود امتحان کنید

اگر می‌خواهید Places Insights API را با استفاده از یک نشانه OAuth امتحان کنید، اما تنظیمات محیطی برای تولید نشانه‌ها ندارید، می‌توانید از رویه موجود در این بخش برای برقراری تماس استفاده کنید.

این مثال نحوه استفاده از نشانه OAuth ارائه شده توسط Application Default Credentials (ADC) را برای برقراری تماس توضیح می دهد. برای اطلاعات در مورد استفاده از ADC برای فراخوانی Google API با استفاده از کتابخانه‌های سرویس گیرنده، به تأیید اعتبار با استفاده از کتابخانه‌های سرویس گیرنده مراجعه کنید.

پیش نیازها

قبل از اینکه بتوانید با استفاده از ADC درخواست REST ارائه دهید، از Google Cloud CLI برای ارائه اعتبار به ADC استفاده کنید:

  1. اگر قبلاً این کار را نکرده‌اید، یک پروژه ایجاد کنید و با دنبال کردن مراحل راه‌اندازی در Google Cloud Console، صورت‌حساب را فعال کنید.
  2. gcloud CLI را نصب و مقداردهی اولیه کنید .
  3. دستور gcloud زیر را در دستگاه محلی خود اجرا کنید تا فایل اعتبار خود را ایجاد کنید:

    gcloud auth application-default login
  4. یک صفحه ورود به سیستم نمایش داده می شود. پس از ورود به سیستم، اطلاعات کاربری شما در فایل اعتبار محلی مورد استفاده توسط ADC ذخیره می شود.

برای اطلاعات بیشتر، به بخش محیط توسعه محلی در ارائه اعتبارنامه برای اسناد اعتبارنامه پیش فرض برنامه مراجعه کنید.

درخواست REST کنید

در این مثال، شما دو هدر درخواست را ارسال می کنید:

  • توکن OAuth را در سربرگ Authorization با استفاده از دستور زیر برای تولید توکن ارسال کنید:

    gcloud auth application-default print-access-token

    توکن برگشتی دارای محدوده https://www.googleapis.com/auth/cloud-platform.

  • شناسه یا نام پروژه Google Cloud خود را که صورتحساب آن فعال شده است را در سربرگ X-Goog-User-Project ارسال کنید. برای کسب اطلاعات بیشتر، به راه‌اندازی در Cloud Console مراجعه کنید.

مثال زیر با استفاده از نشانه OAuth با Places Insights API تماس می گیرد:

curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \
-H "Authorization: Bearer $TOKEN" \
--data '{
   "insights":[
      "INSIGHT_COUNT"
   ],
   "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
   }
}'

عیب یابی

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