Bing Visual Search C#SDK返回空响应

时间:2018-07-01 14:39:18

标签: c# .net sdk bing-api

我正在尝试制作一个简单的工具,该工具使用Bing Visual Search API。我正在按照this guide设置SDK,但是无论我将哪个图像传递给该Search方法,API响应似乎都非常空:

var ms = await DownloadStream(img);
var res = await client.Images.VisualSearchMethodAsync(image: ms, knowledgeRequest: (string)null);

我还认为这可能是由于身份验证不正确引起的,但是似乎返回了200,所以我不确定。

响应正文仅显示基本内容和一个空标签:

{"_type": "ImageKnowledge", "instrumentation": {"_type": "ResponseInstrumentation"}, "tags": [{"displayName": "", "actions": [{"actionType": "MoreSizes"}, {"actionType": "ImageById"}]}], "image": {"imageInsightsToken": ""}}

我正在使用7天的试用订阅,并且尝试使用它提供的两个密钥进行身份验证。

我在这里想念东西吗?

编辑:

这是下载功能。它从Discord链接下载.png附件:

static async Task<MemoryStream> DownloadStream(string url)
{
    var ms = new MemoryStream();
    using (var http = new HttpClient())
    using (var res = await http.GetAsync(url))
        if (res.IsSuccessStatusCode)
        {
            await res.Content.CopyToAsync(ms);
            ms.Position = 0;
        }
    return ms;
}

链接示例:https://cdn.discordapp.com/attachments/462686437331042306/462987122203295754/61A88kq3rJL.SY355.jpg

1 个答案:

答案 0 :(得分:1)

您正确地认为身份验证不是问题,因为您得到了某种JSON响应-否则将是401错误。当您的文件格式有问题并且API无法识别您传入的流是图像时,就会发生这种空响应。 (如果您上传了.txt文件,您将得到同样的空响应。)

如果您将代码发布到DownloadStream函数中,我们也许可以帮助您进一步调试。