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

如何在Java中获取Azure认知服务文本转语音的访问令牌

Azure认知服务文本转语音访问令牌Java HttpClient实现

以下代码完全对应你提供的C#版本逻辑,使用Java 11及以上版本自带的java.net.http.HttpClient实现,无需引入第三方依赖:

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Authentication {
    // 令牌请求地址,需和你创建认知服务的区域匹配,示例为westus区域
    public static final String FETCH_TOKEN_URI = "https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken";
    private String subscriptionKey;
    private String token;

    public Authentication(String subscriptionKey) {
        this.subscriptionKey = subscriptionKey;
        // 同步等待令牌返回,和原C#代码中调用.Result的逻辑一致
        this.token = fetchToken(FETCH_TOKEN_URI, subscriptionKey);
    }

    public String getAccessToken() {
        return this.token;
    }

    private String fetchToken(String fetchUri, String subscriptionKey) {
        HttpClient client = HttpClient.newHttpClient();
        // 构造POST请求,添加认证请求头,无请求体
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(fetchUri))
                .header("Ocp-Apim-Subscription-Key", subscriptionKey)
                .POST(HttpRequest.BodyPublishers.noBody())
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            System.out.printf("Token Uri: %s%n", fetchUri);
            return response.body();
        } catch (Exception e) {
            throw new RuntimeException("获取Azure访问令牌失败", e);
        }
    }
}

如果你使用的是Java 8及以下版本,没有自带的HttpClient,可以替换为Apache HttpClient或者OkHttp实现相同逻辑,核心逻辑不变:发送携带Ocp-Apim-Subscription-Key请求头的空POST请求到令牌接口,读取响应内容即可拿到访问令牌。

使用注意事项

  • 代码中默认的令牌请求地址对应westus区域,如果你创建认知服务的区域不是westus,需要修改FETCH_TOKEN_URI中的区域字段为实际区域
  • Azure认知服务的访问令牌有效期为10分钟,生产环境使用建议添加缓存逻辑,到期前自动刷新令牌,避免频繁请求令牌接口影响性能
  • 上述代码为了对齐原C#逻辑使用了同步调用,如果需要异步实现,可以调用HttpClient.sendAsync方法获取CompletableFuture做异步处理

内容的提问来源于stack exchange,提问作者Aditya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:15:01