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