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