استفاده از OAuth (خودرو)

اجازه دادن به درخواست‌های شما برای annotatePaths به یک حساب سرویس در لیست مجاز پروژه Google Cloud مرتبط نیاز دارد. سپس می‌توانید حساب سرویس را جعل کنید و یک نشانه OAuth ایجاد کنید که به عنوان سرصفحه در درخواست‌ها ارسال می‌شود.

یک حساب سرویس راه اندازی کنید

از آنجا که فقط حساب های سرویس در لیست مجاز مجاز به فراخوانی annotatePaths هستند، شما باید از طریق جعل هویت حساب سرویس به عنوان یک حساب سرویس عمل کنید.

  1. دستورالعمل های ایجاد حساب سرویس را دنبال کنید. ایمیل حساب سرویس دارای قالب کلی زیر است:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. ایمیل حساب سرویس را به نماینده کسب و کار Google خود ارسال کنید. نماینده شما این حساب سرویس را به لیست مجاز مجاز برای فراخوانی annotatePaths اضافه می کند.

کاربرانی را اضافه کنید که می توانند هویت حساب سرویس را جعل کنند

کاربری اضافه کنید که مجاز به جعل هویت حساب سرویس است:

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

همچنین می‌توانید کاربران مجاز به جعل هویت حساب سرویس را از طریق کنسول Cloud اضافه کنید. به ایجاد حساب سرویس مراجعه کنید.

عیب یابی در صورت عدم موفقیت دستور

اگر این دستور ناموفق بود، از مالک پروژه بخواهید که دستور را برای شما اجرا کند یا roles/iam.serviceAccountAdmin را با اجرای:

gcloud iam service-accounts add-iam-policy-binding \
   SERVICE_ACCOUNT \
    --member=USER_EMAIL \
    --role=roles/iam.serviceAccountAdmin \
    --project=PROJECT_ID

یک توکن OAuth کوتاه مدت ایجاد کنید

اگر می‌خواهید annotatePaths با استفاده از یک نشانه OAuth راه‌اندازی کنید، اما تنظیمات محیطی برای تولید نشانه‌ها ندارید، از روش موجود در این بخش برای دریافت یک نشانه OAuth کوتاه مدت با استفاده از gcloud CLI استفاده کنید. (توکن ظرف یک ساعت منقضی می شود.) برای جزئیات بیشتر، به ایجاد اعتبارنامه های کوتاه مدت برای یک حساب خدمات مراجعه کنید. مراحلی که در ادامه می آید نمای کوتاهی از این دستورالعمل ها است.

  1. به gcloud وارد شوید:

    gcloud auth login
    

    gcloud پنجره مرورگر را باز می کند و از شما اجازه می خواهد.

  2. پروژه خود را تنظیم کنید:

    gcloud config set project PROJECT_ID
    
  3. با استفاده از print-access-token یک نشانه دسترسی کوتاه مدت دریافت کنید:

    gcloud auth print-access-token
    

    این دستور یک نشانه را برمی گرداند. توکن را کپی کرده و در دستور زیر در YOUR_ACCESS_TOKEN وارد کنید:

    curl -X POST \
    https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
    

    CLI کد دسترسی کوتاه مدت OAuth را برمی گرداند که اکنون می توانید از آن در درخواست برای annotatePaths استفاده کنید.

(اختیاری) مجوزهای نشانه OAuth را بررسی کنید

اگر با مشکلات مجوز مواجه شدید، می‌توانید مجوزهای نشانه OAuth خود را با وارد کردن رمز در URL زیر، سفارشی‌سازی OAUTH_TOKEN بررسی کنید. (این را در نوار آدرس خود قرار دهید.)

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

پاسخ باید شامل محدوده https://www.googleapis.com/auth/cloud-platform باشد. اگر اینطور نیست، مطمئن شوید که محدوده را به درستی همانطور که در بخش قبل نشان داده شده است تنظیم کرده اید.

از OAuth در محیط های تولیدی استفاده کنید

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

عیب یابی

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