حسابهای سرویس، حسابهای ویژه گوگل هستند که برنامهها میتوانند از طریق OAuth 2.0 برای دسترسی به APIهای گوگل به صورت برنامهنویسی شده استفاده کنند. یک حساب سرویس از جریان OAuth 2.0 استفاده میکند که نیازی به مجوز انسانی ندارد. در عوض، از یک فایل کلیدی استفاده میکند که فقط برنامه شما میتواند به آن دسترسی داشته باشد. این راهنما نحوه دسترسی به API محتوا برای خرید با حسابهای سرویس را مورد بحث قرار میدهد.
توجه: برنامههایی که از حسابهای سرویس برای احراز هویت استفاده میکنند، فقط میتوانند به حساب مرکز فروشندگان شما دسترسی داشته باشند. اگر در حال نوشتن یک برنامه شخص ثالث هستید که نیاز به دسترسی به حسابهای مرکز فروشندگان مشتریان شما دارد، لطفاً به جای آن، به راهنمای درخواستهای مجوز مراجعه کنید.
پیشنیازها
- یک حساب مرکز تجاری .
مراحل استفاده از یک حساب کاربری سرویس برای دسترسی به API محتوا برای خرید
- اعتبارنامههای حساب سرویس را ایجاد کنید یا به اعتبارنامههای عمومی که قبلاً ایجاد کردهاید دسترسی پیدا کنید. شما باید یک شناسه کلاینت OAuth 2.0 ایجاد کنید و یک فایل کلید خصوصی *.json دریافت کنید:
- به کنسول API گوگل بروید.
- یک پروژه را از منوی کشویی بالای صفحه انتخاب کنید. اگر هنوز پروژهای ندارید، با کلیک روی «پروژه جدید» آن را ایجاد کنید.
- اگر هنوز API محتوا برای خرید را برای این پروژه فعال نکردهاید، آن را در لیست APIهای گوگل جستجو کرده و فعال کنید.
- روی منوی ناوبری (☰) در بالا سمت چپ کلیک کنید، APIها و خدمات (APIs & Services ) و سپس اعتبارنامهها (Credentials) را انتخاب کنید.
- برای تنظیم یک حساب کاربری سرویس، گزینه CREATE CREDENTIALS و سپس Service account را انتخاب کنید.
- نام حساب سرویس جدید را وارد کنید. این نام همچنین به عنوان نام کاربری پیشفرض برای شناسه حساب سرویس عمل میکند. شناسه حساب سرویس، از جمله قسمت بعد از کاراکتر '@' را برای استفادههای بعدی یادداشت کنید. روی CREATE کلیک کنید، سپس مراحل اختیاری اعطای دسترسی به پروژه و کاربران را طی کنید و روی DONE کلیک کنید.
انتخاب نقش برای حساب سرویس هیچ تاثیری بر فراخوانیهای قابل انجام به API محتوا نخواهد داشت، زیرا دسترسی به متدهای API محتوا به جای آن توسط نقشی که با شناسه حساب سرویس در مرکز فروشندگان مرتبط است، تعیین میشود. اگر مطمئن نیستید چه چیزی را انتخاب کنید، کافیست Project > Viewer را انتخاب کنید.
- شما به صفحه حسابهای سرویس هدایت خواهید شد که در آنجا میتوانید به حساب سرویس جدید خود دسترسی پیدا کنید.
- برای دریافت کلید خصوصی JSON، روی حساب کاربری سرویس کلیک کنید، سپس به تب KEYS بروید. روی ADD KEY > Create new key کلیک کنید و سپس JSON را به عنوان نوع کلید انتخاب کنید. برای دانلود کلید خصوصی روی رایانه خود، روی CREATE کلیک کنید.
- حساب سرویس جدید را به عنوان کاربر به حساب مرکز فروشندگان خود اضافه کنید. اگر شما یک توسعهدهنده شخص ثالث هستید، باید از مشتری خود بخواهید این مرحله را برای شما انجام دهد.
- به حساب مرکز بازرگانان خود بروید.
- در تنظیمات حساب مرکز فروش خود، به بخش دسترسی به حساب کاربری بروید.
- روی + افزودن کاربر کلیک کنید و از شناسه حساب سرویس به عنوان آدرس ایمیل برای کاربر جدید استفاده کنید.
اگر قبلاً شناسه حساب سرویس را یادداشت نکردهاید، به صفحه مدیریت حسابهای سرویس بروید و پروژهای را که ایجاد کردهاید انتخاب کنید.
- تنظیمات دسترسی کاربر و اعلانهای ایمیل را برای حساب سرویس مشخص کنید. توجه داشته باشید که استفاده از سرویس
Accountsنیاز به دسترسی ادمین دارد. - برای ذخیره تنظیمات و بازگشت به لیست کاربران، روی افزودن کاربر کلیک کنید. شناسه حساب سرویس باید همراه با نقش کاربر انتخاب شده فهرست شود.
- این فرآیند را برای تمام حسابهای سرویس دیگری که میخواهید اضافه کنید، تکرار کنید.
- اکنون میتوانید با استفاده از حساب سرویس، یا با استفاده از جریان اعتبارنامههای پیشفرض برنامه گوگل یا با استفاده مستقیم از جریان حساب سرویس، به حساب مرکز فروشندگان خود دسترسی پیدا کنید. API محتوا برای نمونههای خرید، نحوه استفاده از هر دو جریان را برای اعتبارنامههای حساب سرویس در هر زبان برنامهنویسی پشتیبانیشده نشان میدهد. لطفاً نمونههای کد را بررسی کنید تا حساب سرویس جدید خود را امتحان کنید و بدانید برای استفاده از حسابهای سرویس در کد خود به چه تغییراتی نیاز دارید.
سوالات متداول
- آیا میتوانم با حساب کاربری سرویس خود وارد رابط کاربری مرکز فروشندگان شوم؟
- خیر، حسابهای کاربری سرویس، حسابهای کاربری گوگل معمولی نیستند و نمیتوانند به رابط کاربری مرکز فروشندگان دسترسی داشته باشند.
- هر چند وقت یکبار نیاز به بهروزرسانی توکنهای دسترسی به حساب کاربری سرویس دارم؟
- توکنهای دسترسی یک ساعت پس از صدور توسط سرور تأیید اعتبار Google OAuth 2.0 منقضی میشوند. هنگامی که یک توکن دسترسی منقضی میشود، برنامه باید از کتابخانه کلاینت برای دریافت توکن دسترسی دیگری استفاده کند.