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

Road Management Insights از API انتخاب جاده‌ها به عنوان یک جزء اصلی استفاده می‌کند که داده‌های جاده را برای BigQuery و Pub/Sub فراهم می‌کند.

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

API انتخاب جاده‌ها از استفاده از OAuth 2.0 برای احراز هویت پشتیبانی می‌کند. گوگل از سناریوهای رایج OAuth 2.0 مانند سناریوهای مربوط به یک وب سرور پشتیبانی می‌کند.

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

قبل از اینکه شروع کنی

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

درباره OAuth

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

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

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

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

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

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

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

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

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

پیش‌نیازها

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

  1. اگر قبلاً این کار را نکرده‌اید، یک پروژه ایجاد کنید و با دنبال کردن مراحل موجود در بخش تنظیمات در کنسول گوگل کلود، پرداخت را فعال کنید.
  2. رابط خط فرمان gcloud را نصب و راه‌اندازی کنید .
  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 وارد کنید. برای کسب اطلاعات بیشتر، به بخش «تنظیمات در کنسول ابری» مراجعه کنید.

مثال زیر با استفاده از توکن OAuth، رابط برنامه‌نویسی کاربردی انتخاب جاده‌ها (Roads Selection API) را فراخوانی می‌کند:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID

عیب‌یابی

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