개요
Chrome Web Store Publish API는 Chrome 웹 스토어에서 항목을 프로그래매틱 방식으로 생성, 업데이트, 게시하기 위한 REST 엔드포인트 집합을 제공합니다.
초기 설정
Chrome 웹 스토어에 대해 REST 호출을 시작하기 전에 Chrome Web Store API를 사용 설정하고 OAuth 동의 화면을 구성한 후 API 액세스 키를 검색해야 합니다. 다음 섹션에서는 이 프로세스를 안내합니다.
Chrome 웹 스토어 API 사용 설정
- Google Cloud 콘솔로 이동합니다.
- 새 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
- 검색창에 'Chrome Web Store API'를 입력합니다.
- Chrome Web Store API를 사용 설정합니다.
OAuth 동의 화면 구성
- OAuth 동의 화면으로 이동합니다.
- 외부를 선택한 다음 만들기를 선택합니다.
- 아래에 나열된 필수 앱 정보 입력란을 작성한 다음 저장하고 계속하기를 클릭합니다.
- 앱 이름
- 사용자 지원 이메일입니다.
- 개발자 연락처 이메일
- 범위를 건너뜁니다. 저장, 계속을 차례로 클릭합니다.
- 내 이메일 주소를 테스트 사용자에 추가하고 저장, 계속을 차례로 클릭합니다.
액세스 키 가져오기
- 사용자 인증 정보로 이동합니다.
- 사용자 인증 정보 만들기를 클릭한 다음 OAuth 클라이언트 ID를 클릭합니다.
- 애플리케이션 유형으로 데스크톱 앱을 선택합니다.
- 이름을 입력한 후 만들기를 클릭합니다.
콘솔에 클라이언트 ID와 클라이언트 보안 비밀번호가 제공됩니다.
OAuth 애플리케이션 테스트
액세스 토큰을 검색하여 API를 사용할 수 있습니다. 예를 들어 브라우저에 다음 URL을 입력하고 $CLIENT_ID를 앱의 URL로 바꿉니다.
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를 호출할 수 있습니다. 갱신 토큰을 사용하여 향후 액세스 토큰을 가져올 수도 있습니다. 토큰은 1시간 후에 만료됩니다.
API 사용
액세스 토큰을 갖게 되면 확장 프로그램에서 Chrome Web Store Publish API를 사용할 수 있습니다. 새 항목을 만들고, 기존 항목을 업데이트하고, 항목을 게시하기 위한 엔드포인트가 있습니다.
다음은 Publish API 사용 시 고려사항 목록입니다.
- 개발자는 Google 계정에 2단계 인증을 사용 설정해야 기존 확장 프로그램을 게시하거나 업데이트할 수 있습니다.
- 새 항목을 게시하기 전에 개발자 대시보드의 스토어 등록정보 및 개인 정보 보호 관행 탭을 작성해야 합니다.
- 새로운 항목 또는 기존 항목을 게시하면 검토 절차가 진행됩니다. 자세한 내용은 검토 프로세스를 참고하세요.
- 업데이트를 출시하려면 매니페스트의 version 입력란에 있는 숫자를 늘립니다.
여기에서 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는 기존 웹 스토어 항목의 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