کتابخانه‌ی استاندارد · وب و سرویس‌ها

گوگل google

احراز هویت حساب سرویس گوگل برای APIهای گوگل.

واردسازی گوگل

برنامه‌های سرور با یک «حساب سرویس» به APIهای گوگل وصل می‌شوند. پرونده‌ی جیسون حساب را از کنسول گوگل بگیرید، با تجزیه حساب سرویس بخوانید و با توکن دسترسی برای دامنه‌ی لازم توکن بگیرید؛ بعد آن را با سرآیند مجوز در درخواست‌های اچ تی تی پی بفرستید. پرونده‌ی حساب سرویس را مثل گذرواژه نگه دارید.

گونه‌ها

حساب سرویس ServiceAccount

ساختار حساب سرویس
حساب سرویس گوگل.
نامانگلیسیگونهتوضیح
client_emailclient_emailرشته = ""ایمیل حساب.
private_keyprivate_keyرشته = ""کلید خصوصی PEM.
token_uritoken_uriرشته = "https://oauth2.googleapis.com/token"نشانی گرفتن توکن.
project_idproject_idرشته = ""شناسه‌ی پروژه.
okokمنطقی = نادرستدرست خوانده شد.
google-Account.salam
واردسازی گوگل

روال ریشه:
    سند := `{"type":"service_account","project_id":"salam-demo","client_email":"[email protected]","private_key":"(کلید خصوصی این‌جا)"}`
    ح := گوگل.تجزیه حساب سرویس(سند)
    سرچاپ ح.ok، ح.project_id، ح.client_email
    سرچاپ ح.token_uri
    سرچاپ ح.private_key.طول() > ۰
    سرچاپ گوگل.تجزیه حساب سرویس(`{"project_id":"x"}`).ok
    سرچاپ گوگل.سرآیند مجوز("ya29.abc")
    سرچاپ گوگل.دامنه اف سی ام
    سرچاپ گوگل.دامنه ذخیره‌سازی
    سرچاپ گوگل.دامنه ابر
پایان
خروجیtrue salam-demo [email protected] https://oauth2.googleapis.com/token true false Bearer ya29.abc https://www.googleapis.com/auth/firebase.messaging https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/cloud-platform

پایاها و متغیرها

دامنه اف سی ام SCOPE_FCM

پایا دامنه اف سی ام: رشته = "https://www.googleapis.com/auth/firebase.messaging"
دامنه‌ی دسترسی برای فرستادن اعلان با Firebase Cloud Messaging.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Account.salam

دامنه ذخیره‌سازی SCOPE_STORAGE

پایا دامنه ذخیره‌سازی: رشته = "https://www.googleapis.com/auth/devstorage.read_write"
دامنه‌ی خواندن و نوشتن در Cloud Storage.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Account.salam

دامنه ابر SCOPE_CLOUD

پایا دامنه ابر: رشته = "https://www.googleapis.com/auth/cloud-platform"
دامنه‌ی کامل Google Cloud.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Account.salam

روال‌ها

تجزیه حساب سرویس ParseServiceAccount

روال تجزیه حساب سرویس(document: رشته): حساب سرویس
پرونده‌ی جیسون حساب سرویس را می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Account.salam

توکن دسترسی AccessToken

روال توکن دسترسی(sa: حساب سرویس، scope: رشته، ok &: منطقی): رشته
توکن دسترسی OAuth برای دامنه‌ی داده‌شده می‌گیرد؛ توکن تا پیش از انقضا نگه داشته و دوباره به کار می‌رود.
google-Token.salam
واردسازی گوگل
واردسازی ورودی خروجی
واردسازی شبکه.اچ تی تی پی شبکه

روال ریشه:
    ح := گوگل.تجزیه حساب سرویس(ورودی خروجی.خواندن پرونده("service-account.json"))
    اگر وارونه ح.ok:
        سرچاپ "پرونده‌ی حساب سرویس درست نیست"
        برگشت
    پایان
    ناپایا سالم := نادرست
    توکن := گوگل.توکن دسترسی(ح، گوگل.دامنه ذخیره‌سازی، سالم)
    اگر وارونه سالم:
        سرچاپ "توکن گرفته نشد"
        برگشت
    پایان
    ناپایا سر := اچ تی تی پی شبکه.سرصفحه جدید()
    سر.درج("Authorization"، گوگل.سرآیند مجوز(توکن))
    پ := اچ تی تی پی شبکه.دریافت با("https://storage.googleapis.com/storage/v1/b?project=" + ح.project_id، سر)
    سرچاپ اچ تی تی پی شبکه.وضعیت(پ)
    گوگل.فراموش کردن توکن(ح)
پایان

فراموش کردن توکن Forget

روال فراموش کردن توکن(sa: حساب سرویس)
توکن نگه‌داشته‌ی حساب را دور می‌اندازد تا دفعه‌ی بعد تازه گرفته شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Token.salam

سرآیند مجوز Authorization

روال سرآیند مجوز(token: رشته): رشته
مقدار سرآیند Authorization با توکن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: google-Account.salam