从 Google Chrome 21.x 开始,将不再支持私人更新站点。这迫使我们将扩展程序移至 Google 网上商店。以前,我们使用了一个自动脚本来创建 .crx 文件,对其进行签名,然后上传到更新站点。
有没有办法将脚本上传扩展至谷歌网上商店?
从 Google Chrome 21.x 开始,将不再支持私人更新站点。这迫使我们将扩展程序移至 Google 网上商店。以前,我们使用了一个自动脚本来创建 .crx 文件,对其进行签名,然后上传到更新站点。
有没有办法将脚本上传扩展至谷歌网上商店?
自 2014 年 3 月以来,有一个 API 可以做到这一点。文档在这里。
我从来没有使用过它,所以我不能提供一个完整的例子。
但是,从文档来看,基本流程将是一个经过身份验证的请求,其中包含一个更新的包,然后是一个经过身份验证的发布请求:
> 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/$APP_ID
> 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/$APP_ID/publish
这是我的 grunt 插件https://github.com/c301/grunt-webstore-upload。
但是您仍然必须第一次上传您的扩展程序,才能获得扩展程序 ID。
它只解决了上传问题,您需要先编译 ZIP 文件。你可以使用这个 grunt 插件https://github.com/oncletom/grunt-crx(我没有测试它)。
实际上,由于安全问题,您不能这样做。但是您可以自动将您的扩展程序构建为 zip 文件,然后您只需将该 zip 文件上传到 Google Web Store。就这样!