بررسی اجمالی
Chrome Web Store Publish API مجموعهای از نقاط پایانی REST را برای ایجاد، بهروزرسانی و انتشار موارد بهصورت برنامهریزی در فروشگاه وب Chrome ارائه میکند.
راه اندازی اولیه
قبل از اینکه بتوانید تماسهای REST را با فروشگاه وب Chrome شروع کنید، باید API فروشگاه وب Chrome را فعال کنید، صفحه رضایت OAuth خود را پیکربندی کنید و کلیدهای دسترسی API خود را بازیابی کنید. بخشهای زیر این فرآیند را طی میکنند.
Chrome Web Store API را فعال کنید
- به Google Cloud Console بروید.
- یک پروژه جدید ایجاد کنید یا یک پروژه موجود را انتخاب کنید.
- در نوار جستجو «Chrome Web Store API» را تایپ کنید.
- API فروشگاه وب Chrome را فعال کنید.
صفحه رضایت OAuth را پیکربندی کنید
- به صفحه رضایت OAuth بروید.
- External سپس Create را انتخاب کنید.
- فیلدهای اطلاعات برنامه مورد نیاز (فهرست شده در زیر) را پر کنید، سپس روی ذخیره و ادامه کلیک کنید.
- نام برنامه.
- ایمیل پشتیبانی کاربر.
- ایمیل تماس با برنامه نویس
- Scopes. روی Save و سپس Continue کلیک کنید.
- آدرس ایمیل خود را به کاربران تست اضافه کنید، سپس روی Save و سپس Continue کلیک کنید.
کلیدهای دسترسی را دریافت کنید
- به اعتبارنامه بروید.
- روی ایجاد اعتبار و سپس شناسه مشتری OAuth کلیک کنید.
- برای نوع برنامه ، Desktop App را انتخاب کنید.
- نام را پر کنید، سپس روی ایجاد کلیک کنید.
کنسول شناسه مشتری و راز مشتری را ارائه می دهد.
آزمایش برنامه OAuth شما
می توانید یک نشانه دسترسی برای کار با API بازیابی کنید. به عنوان مثال، این 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
صفحه ای را مشاهده می کنید که از شما می خواهد مجوز محدوده درخواستی را بپذیرید.
روی Accept کلیک کنید و کد را کپی کنید. باید چیزی شبیه این باشد:
از این مقدار برای درخواست یک نشانه دسترسی استفاده کنید. برای مثال، با استفاده از 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
برای فراخوانی API استفاده کنید. همچنین می توانید از نشانه رفرش برای دریافت نشانه های دسترسی آینده استفاده کنید. توجه داشته باشید که توکن ها پس از یک ساعت منقضی می شوند.
با استفاده از API
هنگامی که یک نشانه دسترسی دارید، برنامه افزودنی شما میتواند از API انتشار فروشگاه وب Chrome استفاده کند. نقاط پایانی برای ایجاد یک مورد جدید، بهروزرسانی یک مورد موجود و انتشار یک مورد وجود دارد.
در زیر فهرستی از ملاحظات استفاده از Publish API آمده است:
- برنامهنویسها باید تأیید صحت ۲ مرحلهای را برای حساب Google خود فعال کنند تا یک برنامه افزودنی موجود را منتشر یا بهروزرسانی کنند.
- قبل از اینکه بتوانید یک مورد جدید منتشر کنید، باید برگههای فهرست فروشگاه و شیوههای حریم خصوصی را در داشبورد برنامهنویس پر کنید.
- پس از انتشار یک مورد جدید یا موجود، تحت یک فرآیند بررسی قرار می گیرد. برای کسب اطلاعات بیشتر به فرآیند بررسی مراجعه کنید.
- برای انتشار بهروزرسانی، تعداد را در قسمت نسخه مانیفست افزایش دهید.
در اینجا درباره 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