שימוש ב-Chrome Web Store Publish API

סקירה כללית

Chrome Web Store Publish API מספק קבוצה של נקודות קצה ל-REST כדי ליצור, לעדכן ולפרסם פריטים באופן פרוגרמטי בחנות האינטרנט של Chrome.

הגדרה ראשונית

כדי להתחיל לבצע קריאות REST בחנות האינטרנט של Chrome, עליכם להפעיל את ה-API של חנות האינטרנט של Chrome, להגדיר את מסך ההסכמה ל-OAuth ולאחזר את מפתחות הגישה שלכם ל-API. בקטעים הבאים מוסבר התהליך.

הפעלת Chrome Web Store API

  1. נכנסים למסוף Google Cloud.
  2. יוצרים פרויקט חדש או בוחרים פרויקט קיים. צרו פרויקט חדש ב-Google Console
  3. בסרגל החיפוש, מקלידים 'Chrome Web Store API'.
  4. מפעילים את ממשק ה-API של חנות האינטרנט של Chrome.

הגדרת מסך ההסכמה של OAuth

  1. עוברים אל מסך ההסכמה של OAuth.
  2. בוחרים באפשרות External ואז על Create. יצירת מסך הסכמה ל-OAuth
  3. ממלאים את שדות פרטי האפליקציה הנדרשים (מפורטים בהמשך) ולוחצים על שמירה והמשך.
    • שם האפליקציה.
    • אימייל לתמיכת משתמשים.
    • כתובת האימייל ליצירת קשר עם המפתח.
  4. מדלגים על היקפים. לוחצים על שמירה ואז על המשך.
  5. מוסיפים את כתובת האימייל למשתמשים לבדיקה, לוחצים על שמירה ואז על המשך.

להורדת מפתחות הגישה

  1. עוברים אל Credentials.
  2. לוחצים על Create Credentials (יצירת פרטי כניסה) ואז על OAuth client ID (מזהה לקוח OAuth). יצירת פרטי כניסה
  3. בהגדרה סוג האפליקציה, בוחרים באפשרות אפליקציה למחשב.
  4. ממלאים את השם ולוחצים על יצירה.

המסוף יספק את מזהה הלקוח ואת סוד הלקוח.

בדיקה של אפליקציית OAuth

תוכלו לאחזר אסימון גישה כדי לעבוד עם ה-API. לדוגמה, הזן את כתובת האתר הבאה בדפדפן ותחליף את $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 כדי להפעיל את ה-API. תוכלו להשתמש באסימון הרענון גם כדי לקבל אסימוני גישה עתידיים. חשוב לדעת: תוקפם של האסימונים פג לאחר שעה.

שימוש ב-API

לאחר שיהיה לך אסימון גישה, התוסף יוכל להשתמש ב-Chrome Web Store Publish API. יש נקודות קצה ליצירת פריט חדש, לעדכון פריט קיים ולפרסום פריט.

ריכזנו כאן רשימת שיקולים לשימוש ב-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