استخدام واجهة برمجة تطبيقات Publish في "سوق Chrome الإلكتروني"

نظرة عامة

توفّر واجهة برمجة تطبيقات النشر في "سوق Chrome الإلكتروني" مجموعة من نقاط نهاية REST لإنشاء العناصر وتعديلها ونشرها آليًا في "سوق Chrome الإلكتروني".

الإعداد الأولي

قبل البدء في إجراء طلبات REST على "سوق Chrome الإلكتروني"، عليك تفعيل واجهة برمجة التطبيقات في "سوق Chrome الإلكتروني" وضبط شاشة طلب الموافقة في OAuth واسترداد مفاتيح الوصول إلى واجهة برمجة التطبيقات. تستعرض الأقسام التالية هذه العملية.

تفعيل واجهة برمجة التطبيقات في "سوق Chrome الإلكتروني"

  1. انتقِل إلى Google Cloud Console.
  2. أنشئ مشروعًا جديدًا أو اختَر مشروعًا حاليًا. أنشئ مشروعًا جديدًا
في Google Console
  3. في شريط البحث، اكتب "Chrome Web Store API".
  4. تفعيل واجهة برمجة التطبيقات في سوق Chrome الإلكتروني

ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth

  1. انتقِل إلى شاشة موافقة OAuth.
  2. اختَر خارجي ثم إنشاء. يمكنك إنشاء شاشة
موافقة Oauth
  3. املأ حقول معلومات التطبيق المطلوبة (المُدرجة أدناه)، ثم انقر على حفظ ومتابعة.
    • اسم التطبيق.
    • البريد الإلكتروني لدعم المستخدم.
    • البريد الإلكتروني للتواصل مع مطوّر البرامج.
  4. تخطّي النطاقات: انقر على حفظ ثم متابعة.
  5. أضِف عنوان بريدك الإلكتروني إلى Test users (المستخدمون التجريبيون)، ثم انقر على Save (حفظ)، ثمّ Continue (متابعة).

الحصول على مفاتيح الوصول

  1. انتقِل إلى بيانات الاعتماد.
  2. انقر على إنشاء بيانات اعتماد ثم معرِّف عميل OAuth. إنشاء بيانات اعتماد
  3. في حقل نوع التطبيق، اختَر تطبيق سطح المكتب.
  4. املأ الاسم، ثم انقر على إنشاء.

ستوفر وحدة التحكم معرّف العميل وسر العميل.

اختبار تطبيق OAuth

يمكنك استرداد رمز الدخول للعمل مع واجهة برمجة التطبيقات. على سبيل المثال، أدخِل عنوان URL هذا في المتصفح، واستبدل $CLIENT_ID بعنوان تطبيقك:

https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/chromewebstore&client_id=$CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob

ستظهر لك صفحة تطلب منك قبول الإذن للنطاق المطلوب.

واجهة مستخدم طلب الإذن

انقر على قبول وانسخ الرمز. من المفترض أن تظهر بشكلٍ مشابه لما يلي:

واجهة مستخدم لنسخ الرمز

استخدِم هذه القيمة لطلب رمز دخول. على سبيل المثال، باستخدام curl، يمكنك الحصول على رمز دخول من خلال تنفيذ الأمر التالي (استبدِل قيم $CLIENT_ID و$CLIENT_SECRET و$CODE بالقيم الواردة أعلاه):

> curl "https://accounts.google.com/o/oauth2/token" -d \
"client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&code=$CODE&grant_type=authorization_code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"

سيؤدي ذلك إلى عرض نتيجة مثل:

{
  "access_token" : "ya29...",
  "expires_in" : 3600,
  "refresh_token" : "1/rwn...",
  "scope": "https://www.googleapis.com/auth/chromewebstore",
  "token_type" : "Bearer",
}

يمكنك الآن استخدام access_token لطلب بيانات من واجهة برمجة التطبيقات. يمكنك أيضًا استخدام الرمز المميز لإعادة التحميل للحصول على رموز الدخول المستقبلية. يُرجى العِلم أنّ صلاحية الرموز المميّزة تنتهي بعد ساعة.

استخدام واجهة برمجة التطبيقات

بعد الحصول على رمز الدخول، ستتمكّن الإضافة من استخدام واجهة برمجة تطبيقات النشر في "سوق Chrome الإلكتروني". هناك نقاط نهاية لإنشاء عنصر جديد وتحديث عنصر موجود ونشر عنصر.

في ما يلي قائمة بالاعتبارات التي يجب مراعاتها عند استخدام Publish API:

يمكنك الحصول على مزيد من المعلومات حول Chrome Web Store Publish API هنا.

تحميل حزمة لإنشاء عنصر جديد في السوق

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items
Type: POST
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

اكتب المثال التالي في سطر الأوامر:

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X POST \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items

تحميل حزمة لتحديث عنصر متجر حالي

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID
Type: PUT
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

$ITEM_ID هو معرّف عنصر السوق الإلكتروني الحالي.

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X PUT \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID

نشر عنصر للجميع

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish

نشر عنصر إلى مختبِرين موثوق بهم

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters

التحقّق من حالة تحميل أحد العناصر

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT
Type: GET
Header Parameters: 
  $TOKEN: the access token
curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-H "Expect:" \
-X GET \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT