Google chrome extension 如何验证我的Chrome扩展是否已发布/在给定版本中可用?
我正在使用Google chrome extension 如何验证我的Chrome扩展是否已发布/在给定版本中可用?,google-chrome-extension,deployment,Google Chrome Extension,Deployment,我正在使用chromewebstoreupload cli自动将chrome扩展部署到chromewebstore webstore upload \ --source dist/extension.zip \ --extension-id $CHROME_STORE_EXT_ID \ --client-id $CHROME_STORE_CLIENT_ID \ --client-secret $CHROME_STORE_SECRET \ --refresh-token $CH
chromewebstoreupload cli
自动将chrome扩展部署到chromewebstore
webstore upload \
--source dist/extension.zip \
--extension-id $CHROME_STORE_EXT_ID \
--client-id $CHROME_STORE_CLIENT_ID \
--client-secret $CHROME_STORE_SECRET \
--refresh-token $CHROME_STORE_REFRESH_TOKEN \
--auto-publish
这在大多数情况下效果很好;该扩展已上载并发布
问题
但是,有时扩展不会自动发布。相反,它是“待定审查”,可能会在这种状态下持续一两个小时:
由于我的部署脚本假定一旦将扩展上传到web应用商店,用户就可以使用它,这会导致错误(例如,断开的链接、版本号等)
是否有任何方法可以通过编程检查扩展是否在给定版本中实际可用,或者何时可用
我试过的
我尝试使用curl
查询允许用户下载扩展的Web应用商店网站的内容,但它实际上不包含版本字符串。至少“附加信息”选项卡是动态呈现的,而不是原始站点源代码的一部分
我也查过了。它提供了一个Items.Get
方法,但它只返回以下信息:
{
"kind": "chromewebstore#item",
"id": string,
"publicKey": string,
"uploadState": string,
"itemError": [
(value)
]
}
此数据不包含有关最新发布版本或审阅状态的信息。无论如何,请求只能与
DRAFT
资源一起使用。源HTML包含带有版本的meta
标记,特别是:
<meta itemprop="version" content="1.20.1"/>
将扩展ID替换为您的。它将只打印版本(例如,1.20.1
)
例如,一个更稳定的解决方案是将Python 3与
请求
和美化组
一起使用:
导入请求
从bs4导入BeautifulSoup
ext_id=“abcdefg”
ret=requests.get(“https://chrome.google.com/webstore/detail/“+ext_id)
soup=BeautifulSoup(ret.text,'html.parser')
version=soup.find_all(“meta”,attrs={“itemprop”:“version”})[0][“content”]
印刷品(版本)
您是否已检查是否可以提供帮助?有关实现,请参阅。@MαπμQμαπkγVπ。0我找到了一个简单的解决方案,请参阅下面的答案。
extId="abcdefg"
curl -s -L "https://chrome.google.com/webstore/detail/$extId" | \
grep -o -E 'content="\d+\.\d+\.\d+"' | \
cut -d= -f2 | \
tr -d '"'