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

Bing拼写检查器API无返回结果求助:调用异常排查

排查Bing拼写检查API无返回结果的问题

以下是针对你遇到的问题的具体排查方向和解决方案:

1. 确认请求方法是否正确

Bing拼写检查API必须使用POST请求,而非GET。你提供的URL是GET格式的参数拼接,不符合API要求。正确做法:

  • 请求URL:https://api.bing.microsoft.com/v7.0/spellcheck
  • 将text=mus、mkt=en-GB、mode=spell作为POST表单参数(或JSON体)传递,不要放在URL中。

2. 验证API密钥的有效性和权限

  • 登录Azure门户,确认密钥对应的资源是「Bing Spell Check」,而非其他Bing服务(如搜索)。
  • 检查密钥是否过期、被吊销,或使用区域与密钥授权区域不匹配。
  • 确认免费层调用额度未耗尽:免费订阅每月有调用次数限制,超出后会无结果返回。

3. 检查请求头和参数格式

  • 必须在请求头中添加Ocp-Apim-Subscription-Key字段,值为你的API密钥。
  • POST请求的Content-Type需设置为application/x-www-form-urlencoded(表单参数)或application/json(JSON体),参数要正确编码。
  • 确认mode参数取值正确:spell侧重拼写修正,proof包含拼写和语法检查,但都需遵循参数传递规范。

4. 测试最小化有效请求

先在Postman中构造最简请求验证:

  • 请求方法:POST
  • URL:https://api.bing.microsoft.com/v7.0/spellcheck
  • 请求头:
    • Ocp-Apim-Subscription-Key: 你的API密钥
    • Content-Type: application/x-www-form-urlencoded
  • 请求体(表单参数):
    text=mus&mkt=en-GB&mode=spell
    

如果该请求能返回结果,再逐步迁移到Refit代码中。

5. Refit代码的常见问题

确保接口定义符合POST参数传递要求:

public interface IBingSpellCheckApi
{
    [Post("/v7.0/spellcheck")]
    Task<SpellCheckResponse> CheckSpelling(
        [Header("Ocp-Apim-Subscription-Key")] string apiKey,
        [Body(BodySerializationMethod.UrlEncoded)] Dictionary<string, string> parameters);
}

// 调用示例
var parameters = new Dictionary<string, string>
{
    {"text", "mus"},
    {"mkt", "en-GB"},
    {"mode", "spell"}
};
var response = await _api.CheckSpelling("你的API密钥", parameters);

注意不要将参数拼接到URL中,需通过表单体传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 13:36:14