我正在尝试制作一个简单的工具,该工具使用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
答案 0 :(得分:1)
您正确地认为身份验证不是问题,因为您得到了某种JSON响应-否则将是401错误。当您的文件格式有问题并且API无法识别您传入的流是图像时,就会发生这种空响应。 (如果您上传了.txt文件,您将得到同样的空响应。)
如果您将代码发布到DownloadStream函数中,我们也许可以帮助您进一步调试。