You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展版本查询公开API及无凭证调用相关问题咨询

Chrome扩展版本查询相关问题解答

1. 可查询新版本的公开API/链接

Chrome Web Store提供了官方公开API用于获取扩展的版本信息,核心接口为单个扩展的详情查询:

  • 接口格式:https://chromewebstore.googleapis.com/v1.1/items/{扩展ID}?projection=DRAFT
    • projection参数可选:DRAFT会返回包含版本号在内的完整详情,BASIC仅返回基础信息
    • 扩展ID可从扩展的Chrome Web Store页面URL中提取,比如页面URL末尾的字符串就是对应ID

2. 无凭证调用扩展API的方法

上述Chrome Web Store公开API支持无凭证直接调用,不需要API密钥或OAuth授权,直接发起GET请求即可获取数据。需要注意:

  • 接口存在请求频率限制,短时间内大量请求可能会触发限流
  • 返回结果为JSON格式,其中version字段即为扩展的最新版本号

3. 无需JavaScript库的查询方式(Java实现示例)

在Java服务中无需依赖JavaScript库,直接使用Java原生网络工具发起请求即可,以下是两种常见实现方式:

Java 11+ 内置HttpClient示例

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
import javax.json.Json;
import javax.json.JsonObject;
import java.io.StringReader;

public class ExtensionVersionFetcher {
    public static void main(String[] args) {
        String extensionId = "你的扩展ID";
        String apiUrl = String.format("https://chromewebstore.googleapis.com/v1.1/items/%s?projection=DRAFT", extensionId);

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(apiUrl))
                .GET()
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            if (response.statusCode() == 200) {
                JsonObject jsonObj = Json.createReader(new StringReader(response.body())).readObject();
                String latestVersion = jsonObj.getString("version");
                System.out.println("扩展最新版本:" + latestVersion);
            } else {
                System.err.println("请求失败,状态码:" + response.statusCode());
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Java 8及以下HttpURLConnection示例

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.json.Json;
import javax.json.JsonObject;
import java.io.StringReader;

public class LegacyExtensionVersionFetcher {
    public static void main(String[] args) {
        String extensionId = "你的扩展ID";
        String apiUrl = String.format("https://chromewebstore.googleapis.com/v1.1/items/%s?projection=DRAFT", extensionId);

        try {
            URL url = new URL(apiUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");

            if (conn.getResponseCode() == 200) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                StringBuilder response = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();

                JsonObject jsonObj = Json.createReader(new StringReader(response.toString())).readObject();
                String latestVersion = jsonObj.getString("version");
                System.out.println("扩展最新版本:" + latestVersion);
            } else {
                System.err.println("请求失败,状态码:" + conn.getResponseCode());
            }
            conn.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 解析JSON时,若不想引入第三方库,可使用Java原生的javax.json包(需对应引入API和实现jar);如果允许轻量依赖,使用Jackson等JSON库会更便捷
  • 确保Java环境配置了网络访问权限,避免防火墙或代理拦截请求

内容的提问来源于stack exchange,提问作者Егор Черкашин

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:31:20