لاستخدام Merchant API، يجب ربط مشروعك على Google Cloud بحسابك الأساسي على Merchant Center من خلال تسجيل المطوّر. خلال دورة حياة عملية الدمج، قد تحتاج إلى تغيير رقم تعريف مشروع Google Cloud المرتبط بحسابك على Merchant Center أو إدارة مشاريع متعددة في بيئات مختلفة أو نقل المشاريع عند نقل البيانات من Content API for Shopping.
يوضّح هذا الدليل كيفية تنفيذ ما يلي:
- تغيير أو تدوير رقم تعريف مشروع Google Cloud لعملية دمج حالية مع Merchant API بدون أي توقّف
- إلغاء تسجيل مشروع على Google Cloud من حساب واحد على Merchant Center وتسجيله في حساب آخر على Merchant Center
- اختَر استراتيجية الانتقال المناسبة لمشروع على السحابة الإلكترونية في Google Cloud ونفِّذها إذا كنت تنتقل من Content API for Shopping إلى Merchant API.
المتطلبات الأساسية
قبل إدارة مشاريع Google Cloud أو نقلها، تأكَّد من استيفاء متطلبات التسجيل كمطوّر. لمزيد من التفاصيل، يُرجى الاطّلاع على قسم المتطلبات الأساسية في دليل التسجيل كمطوّر.
القواعد والقيود الرئيسية
عند التخطيط لإجراء تغييرات على مشاريعك على Google Cloud، يُرجى مراعاة القواعد التالية:
- تسجيل مشروع واحد إلى عدة مشاريع: يمكن أن يتضمّن حساب أساسي واحد على Merchant Center عدة مشاريع Google Cloud مسجّلة فيه في الوقت نفسه. ومع ذلك، يمكن تسجيل كل مشروع على Google Cloud في حساب أساسي واحد فقط على Merchant Center في أي وقت. عند محاولة تسجيل مشروع مرتبط حاليًا بحساب آخر على Merchant Center، سيظهر الخطأ
ALREADY_EXISTS(409 Conflict) مع السببDUPLICATE_PROJECT_REGISTRATION. - خصوصية ملكية المشروع: لأسباب تتعلّق بالأمان والخصوصية، لا يمكن لفريق الدعم في Google Shopping وMerchant API الإفصاح عن عناوين البريد الإلكتروني الخاصة بمالك أو مشرف مشروع على Google Cloud. إذا فقدت إمكانية الوصول إلى مشروع، يُرجى التواصل مع فريق دعم Google Cloud.
- تكون تمديدات فترة إيقاف Content API for Shopping خاصة بالمشروع: إذا حصلت على موافقة على تمديد فترة الوصول إلى Content API for Shopping، ينطبق هذا التمديد فقط على رقم تعريف مشروع Google Cloud المحدّد الذي تم إرساله في طلبك. لا يتم نقل الإضافات تلقائيًا إلى مشاريع Google Cloud الجديدة.
تغيير رقم تعريف مشروع Google Cloud لحساب Merchant API
إذا كنت تستخدم Merchant API حاليًا وتحتاج إلى نقل عملية الدمج إلى مشروع جديد على Google Cloud، مثلاً بسبب إعادة تنظيم المؤسسة أو سياسات التغيير الدوري لبيانات الاعتماد الخاصة بالمصادقة أو فقدان إذن الوصول الإداري إلى مشروع قديم، يمكنك نقل المشاريع بدون فترة توقّف. بما أنّ حساب Merchant Center يتيح استخدام عدة مشاريع مسجّلة على Google Cloud في الوقت نفسه، يمكنك تسجيل المشروع الجديد قبل إيقاف المشروع القديم.
الخطوة 1: إنشاء مشروعك الجديد على Google Cloud وضبطه
- أنشِئ مشروعًا جديدًا في وحدة تحكّم Google Cloud. للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على إنشاء مشروع على Google Cloud.
- فعِّل Merchant API (
merchantapi.googleapis.com) في المشروع الجديد. يُرجى الاطّلاع على قسم تفعيل Merchant API من إنشاء مشروع على Google Cloud. - أنشئ بيانات اعتماد المصادقة (حساب خدمة أو معرّف عميل OAuth 2.0) في مشروع Google Cloud الجديد.
- أضِف عنوان البريد الإلكتروني الذي يتم استخدامه للمصادقة (مثل عنوان البريد الإلكتروني الجديد لحساب الخدمة)
كمستخدم لديه دور
ADMINفي حسابك الأساسي على Merchant Center.
الخطوة 2: تسجيل مشروع Google Cloud الجديد
يمكنك إثبات ملكية حسابك باستخدام بيانات الاعتماد من مشروعك الجديد على Google Cloud واستدعاء طريقة accounts.developerRegistration.registerGcp لربط المشروع الجديد بحسابك الأساسي على Merchant Center. للحصول على تعليمات مفصّلة، راجِع قسم إجراء مكالمة التسجيل من مقالة التسجيل كمطوِّر.
الخطوة 3: التحقّق من مشاريعك المسجَّلة على Google Cloud
للتأكّد من أنّ مشروعَي Google Cloud الحالي والجديد
مرتبطان بحسابك على Merchant Center، يمكنك استدعاء
الطريقة
accounts.developerRegistration.getDeveloperRegistration:
GET https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration
Authorization: Bearer ACCESS_TOKEN
غيِّر القيم في السلسلة على الشكل التالي:
-
ACCOUNT_ID: معرّف Merchant Center -
ACCESS_TOKEN: رمز التفويض لإجراء طلب البيانات من واجهة برمجة التطبيقات
يعرض الردّ المورد
DeveloperRegistration
مع أرقام مشاريع Google Cloud الرقمية لجميع المشاريع المرتبطة
في الحقل gcpIds:
{
"name": "accounts/ACCOUNT_ID/developerRegistration",
"gcpIds": [
"123456789012",
"987654321098"
]
}
يمكنك أيضًا التحقّق من حساب Merchant Center الذي تم تسجيل مشروع Google Cloud الذي يتم استدعاؤه به من خلال استدعاء طريقة accounts.developerRegistration.getAccountForGcpRegistration:
GET https://merchantapi.googleapis.com/accounts/v1/accounts:getAccountForGcpRegistration
Authorization: Bearer ACCESS_TOKEN
غيِّر القيم في السلسلة على الشكل التالي:
ACCESS_TOKEN: رمز التفويض المميز الذي تم إنشاؤه باستخدام بيانات الاعتماد من مشروع Google Cloud الذي تريد التحقّق منه
الخطوة 4: تبديل الزيارات وإلغاء تسجيل مشروع Google Cloud القديم
- عدِّل إعدادات تطبيقك لاستخدام بيانات الاعتماد من مشروع Google Cloud الجديد. بما أنّ كلا المشروعَين مسجَّلان، يتم نقل أعباء العمل بدون انقطاع.
- بعد أن تستخدم جميع الزيارات المشروع الجديد، يمكنك اختياريًا إزالة رابط المشروع القديم من خلال المصادقة باستخدام بيانات اعتماد مشروع Google Cloud القديم واستدعاء الطريقة
accounts.developerRegistration.unregisterGcp:
POST https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp
Content-Type: application/json
Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN
غيِّر القيم في السلسلة على الشكل التالي:
-
ACCOUNT_ID: معرّف Merchant Center استبدِل
OLD_PROJECT_ACCESS_TOKENبالرمز المميّز للتفويض من مشروع Google Cloud القديم لإجراء طلب البيانات من واجهة برمجة التطبيقات.
جافا
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationName;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceClient;
import com.google.shopping.merchant.accounts.v1.DeveloperRegistrationServiceSettings;
import com.google.shopping.merchant.accounts.v1.UnregisterGcpRequest;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/**
* This class demonstrates how to unregister the GCP project currently used to call the Merchant API
* for a specific account.
*/
public class UnregisterGcpSample {
public static void unregisterGcp(Config config) throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
DeveloperRegistrationServiceSettings developerRegistrationServiceSettings =
DeveloperRegistrationServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
// Creates DeveloperRegistration name to identify the DeveloperRegistration.
// The name has the format: accounts/{account}/developerRegistration
String name =
DeveloperRegistrationName.newBuilder()
.setAccount(config.getAccountId().toString())
.build()
.toString();
// Calls the API and propagates any network failures/errors.
try (DeveloperRegistrationServiceClient developerRegistrationServiceClient =
DeveloperRegistrationServiceClient.create(developerRegistrationServiceSettings)) {
// Creates a request to unregister the GCP project.
UnregisterGcpRequest request = UnregisterGcpRequest.newBuilder().setName(name).build();
System.out.println("Sending UnregisterGcp request for: " + name);
developerRegistrationServiceClient.unregisterGcp(request);
System.out.println("Unregister GCP successful.");
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
unregisterGcp(config);
}
}
cURL
curl -X POST \
"https://merchantapi.googleapis.com/accounts/v1/accounts/ACCOUNT_ID/developerRegistration:unregisterGcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OLD_PROJECT_ACCESS_TOKEN"
إعادة تعيين مشروع Google Cloud مسجَّل إلى حساب مختلف على Merchant Center
بما أنّه لا يمكن تسجيل مشروع على Google Cloud إلا في حساب أساسي واحد على Merchant Center في كل مرة، اتّبِع الخطوات التالية لإعادة تعيين مشروع حالي من حساب على Merchant Center (OLD_ACCOUNT_ID) إلى حساب آخر (NEW_ACCOUNT_ID). للاطّلاع على إرشادات حول اختيار حساب Merchant Center الذي تريد تسجيل مشروعك فيه، راجِع اعتبارات مهمة:
- يجب المصادقة باستخدام بيانات الاعتماد من مشروع Google Cloud الذي
لديه إذن الوصول إلى
OLD_ACCOUNT_IDوطلبunregisterGcpعلىaccounts/OLD_ACCOUNT_ID/developerRegistration. - يُرجى التأكّد من أنّ الهوية التي تتم مصادقتها لديها دور "
ADMIN" في "NEW_ACCOUNT_ID" وأنّ "NEW_ACCOUNT_ID" لديه موقع إلكتروني تم تأكيده. - أرسِل طلبًا إلى
registerGcpعلىaccounts/NEW_ACCOUNT_ID/developerRegistrationباستخدام بيانات الاعتماد من مشروع Google Cloud نفسه. إذا لم يكن لدىNEW_ACCOUNT_IDمستخدم لديه دورAPI_DEVELOPER، يمكنك تمرير عنوان بريد إلكتروني صالح للمستخدم في حقل طلبdeveloperEmail. لا يمكن استخدام عناوين البريد الإلكتروني لحسابات الخدمة التي تنتهي بـ.gserviceaccount.comكـdeveloperEmail.
نقل مشاريع Google Cloud عند الانتقال من Content API for Shopping
عند نقل البيانات من Content API for Shopping إلى Merchant API، قد تواجه قيودًا على الوصول إلى مشروعك القديم على Google Cloud، على سبيل المثال، إذا تم ضبط مفاتيح واجهة برمجة التطبيقات الأصلية مباشرةً من خلال سير عمل المصادقة القديم في Merchant Center أو إذا غادر مالك المشروع الأصلي مؤسستك.
بناءً على ما إذا كنت تريد الاحتفاظ بمشروعك الحالي أو استخدام مشروع جديد لـ Merchant API مع الاحتفاظ بـ Content API for Shopping في مشروعك القديم، حدِّد أحد الخيارَين التاليَين.
اختيار استراتيجية مشروع نقل البيانات
| السيناريو | هل يجب الحصول على إذن وصول إداري إلى المشروع القديم؟ | واجهات برمجة التطبيقات التي يجب تفعيلها | هل يجب استخدام إضافة Content API for Shopping في المشروع الجديد؟ |
|---|---|---|---|
| الخيار 1: الاحتفاظ بمشروعك الحالي | نعم (أو الاسترداد من خلال فريق دعم Google Cloud) | تفعيل Merchant API في المشروع الحالي (تم تفعيل Content API for Shopping) | لا (تظل الإضافة الحالية على رقم تعريف المشروع القديم صالحة) |
| الخيار 2: الاحتفاظ بالمشروع القديم لواجهة Content API for Shopping واستخدام مشروع جديد لواجهة Merchant API | لا | فعِّل Merchant API في المشروع الجديد (مع إبقاء Content API for Shopping مفعّلة في المشروع القديم). | لا (يحتفظ المشروع القديم بإضافته، ويطلب المشروع الجديد Merchant API فقط) |
الخيار 1: الاحتفاظ بمشروعك الحالي على Google Cloud
حدِّد هذا الخيار إذا أردت استخدام مشروعك الحالي على Google Cloud لكلّ من Content API for Shopping وMerchant API.
قبل البدء، عليك التحقّق من إمكانية الوصول إلى مشروعك الحالي أو استردادها. سجِّل الدخول إلى وحدة تحكّم Google Cloud وتأكَّد من أنّ حسابك لديه أيّ من الأدوار التالية في مشروعك الحالي:
- المالك (
roles/owner)، - محرِّر (
roles/editor) - مشرف استخدام الخدمة (
roles/serviceusage.serviceUsageAdmin)
- فعِّل Merchant API: فعِّل
merchantapi.googleapis.comفي مكتبة Google Cloud API أو باستخدام الأمرgcloud. للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على مقالة ضبط مصادقة واجهة برمجة التطبيقات من Merchant Center. - تسجيل مشروع Google Cloud في Merchant Center:
اتّبِع الخطوات الواردة في دليل
التسجيل كمطوّر
للسماح بالطلبات من مشروعك الحالي واستخدام طريقة
registerGcpلربط مشروعك الحالي على Google Cloud بحسابك الأساسي على Merchant Center. ستستمرّ مفاتيح حسابات الخدمة الحالية وإضافة Content API for Shopping الموافَق عليها في العمل بدون تغييرات.
الخيار 2: استخدام مشروع Google Cloud القديم لـ Content API for Shopping ومشروع جديد لـ Merchant API
حدِّد هذا الخيار إذا كان التكامل القديم مع Content API for Shopping يعمل حاليًا باستخدام بيانات اعتماد صالحة وإضافة معتمَدة في مشروعك القديم على Google Cloud، وأردت إنشاء التكامل الجديد مع Merchant API في مشروع منفصل ومخصّص على Google Cloud:
- إبقاء عملية دمج Content API for Shopping في المشروع القديم: يمكنك ترك سير العمل وبيانات الاعتماد الحالية في Content API for Shopping قيد التشغيل في مشروع Google Cloud القديم. إذا تمت الموافقة على طلب تمديد الموعد النهائي لرقم تعريف المشروع القديم، سيستمر عمل عملية الدمج الحالية في Content API for Shopping حتى الموعد النهائي الممدّد.
- إنشاء مشروع جديد على Google Cloud حصريًا لـ
Merchant API: أنشِئ مشروعًا جديدًا على Google Cloud وفعِّل
merchantapi.googleapis.comوأنشِئ بيانات اعتماد (حساب خدمة أو معرّف عميل OAuth 2.0) لأعباء عمل Merchant API الجديدة. - تسجيل المشروع الجديد: اتّبِع الخطوات الواردة في مقالة
التسجيل كمطوّر
للسماح بالطلبات من مشروعك الجديد واستدعاء الطريقة
registerGcpباستخدام عنوان بريد إلكتروني صالح لجهة اتصال المطوّر. لا يمكن استخدام عناوين البريد الإلكتروني لحسابات الخدمة (التي تنتهي بـ.gserviceaccount.com) كـdeveloperEmail. - نقل أعباء العمل تدريجيًا: يمكنك نقل طلبات البيانات من واجهة برمجة التطبيقات من مشروع Content API for Shopping القديم إلى مشروع Merchant API الجديد تدريجيًا، قبل تاريخ الإيقاف النهائي المحدّد لـ Content API for Shopping (أو قبل انتهاء صلاحية التمديد الذي تمت الموافقة عليه)، وإيقاف المشروع القديم بعد اكتمال عملية النقل.
حالة خاصة: فقدان إمكانية الوصول إلى مشروعك القديم على Google Cloud قبل إكمال عملية نقل البيانات
بما أنّ Content API for Shopping قد تم إيقافها نهائيًا، لم تعُد مدرَجة في مكتبة Google Cloud API، ولا يمكن تفعيلها في مشاريع على السحابة الإلكترونية التي تم إنشاؤها حديثًا. نتيجةً لذلك، لا يمكنك نقل أحمال عمل Content API for Shopping الحالية إلى مشروع جديد على Google Cloud بنفسك.
إذا لم يعُد بإمكانك إجراء طلبات Content API for Shopping من مشروعك القديم (على سبيل المثال، بسبب إبطال بيانات الاعتماد أو عدم إمكانية الوصول إلى المشروع):
- التواصل مع فريق دعم Google Cloud لاستعادة إمكانية الوصول إلى مشروعك الحالي على Google Cloud (الخيار 1)، أو
- اتّبِع الخيار 2 لإنشاء مشروع جديد على Google Cloud وتسجيله ونقل سير العمل المتأثر مباشرةً إلى Merchant API. إذا واجهت مشكلة خطيرة تمنع عملية نقل البيانات، يُرجى التواصل مع فريق دعم Merchant API.
الخطوات التالية
- يمكنك الاطّلاع على مزيد من المعلومات حول متطلبات تسجيل المطوّرين في مقالتَي التسجيل كمطوِّر والأسئلة الشائعة حول تسجيل المطوّرين.
- راجِع سلوك بيانات الاعتماد القديمة في ضبط مصادقة واجهة برمجة التطبيقات من Merchant Center.
- خطِّط لعملية طرح واجهة برمجة التطبيقات الفرعية من خلال بدء عملية نقل البيانات.
- يمكنك الاطّلاع على تفاصيل حول إمكانية الوصول الموسّع إلى Content API for Shopping في مقالة طلب تمديد فترة نقل البيانات.