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

Bing News Search API的C# SDK能否用AppId调用私有端点及相关疑问

关于Bing News Search API C# SDK与私有端点调用的问题

1. C# SDK是否支持用App Id调用私有端点?

官方的Microsoft.Azure.CognitiveServices.Search.NewsSearch SDK是为Azure公共认知服务端点设计的,它的鉴权逻辑默认依赖订阅密钥,并没有提供直接配置私有端点或使用App Id作为凭证的参数。也就是说,你没法直接通过现有SDK用App Id调用私有端点——SDK的底层实现绑定到公共端点,也没有预留App Id的传入入口。

2. 必须用HttpWebRequest吗?

倒也不必,虽然不能用SDK,但你可以用更现代的HttpClient来封装REST请求,比HttpWebRequest更简洁易用。这里给个简单的示例:

using System;
using System.Net.Http;
using System.Threading.Tasks;

public class PrivateBingNewsClient
{
    private readonly HttpClient _httpClient;
    private readonly string _privateEndpoint;
    private readonly string _appId;

    public PrivateBingNewsClient(string privateEndpoint, string appId)
    {
        _privateEndpoint = privateEndpoint;
        _appId = appId;
        _httpClient = new HttpClient();
    }

    public async Task<string> SearchNewsAsync(string query)
    {
        var requestUri = $"{_privateEndpoint}?q={Uri.EscapeDataString(query)}&appid={_appId}";
        var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
        
        var response = await _httpClient.SendAsync(request);
        response.EnsureSuccessStatusCode();
        return await response.Content.ReadAsStringAsync();
    }
}

如果你的私有端点要求把App Id放在请求头而非Query参数里,只需要调整请求头的设置即可。

3. 私有API提供商能否生成订阅密钥?

这完全取决于私有提供商的服务配置。如果他们是基于Azure Cognitive Services的私有实例部署,通常可以为消费者生成专属的订阅密钥(和公共服务的鉴权方式一致);如果是自定义的API服务,也可以根据需求配置不同的鉴权凭证——比如生成订阅密钥、继续使用App Id,或者其他OAuth类的凭证。建议直接联系你的私有API提供商,确认他们支持的鉴权方案和凭证生成方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:42:32