Microsoft Speaker Recognition API:为什么 "verify" API 调用 return "Resource or path can't be found."?
Microsoft Speaker Recognition API: Why does the "verify" API call return "Resource or path can't be found."?
这是我调用的验证函数:
def verify(verificationProfileId, pathToVoicePrint)
soundFile = File.read(pathToVoicePrint)
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify?verificationProfileId=#{verificationProfileId}")
uri.query = URI.encode_www_form({
})
request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['Content-Type'] = 'multipart/form-data'
# Request headers
request['Ocp-Apim-Subscription-Key'] = @subscriptionKey
# Request body
request.body = soundFile
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
return response
end
我直接从这个页面得到这个代码:https://dev.projectoxford.ai/docs/services/563309b6778daf02acc0a508/operations/56406930e597ed20c8d8549c
来自此 API 调用的 JSON 响应是:
{ "error": { "code": "NotFound", "message": "Resource or path can't be found." } }
此错误消息未在文档中的任何位置列出。我还在测试其他功能,例如注册,我在其中使用相同的参数(verificationProfileId 和 pathToVoicePrint)并且这些功能有效,所以我知道它们是正确的。
dev.projectoxford.ai 上的 ruby 片段是错误的,因为在 URI 构造器中设置了一个查询,但随后在后续行中被删除了。所以你会想要:
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify?verificationProfileId=#{verificationProfileId}")
# don't overwrite the uri.query
或
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify")
uri.query = URI.encode_www_form({
"verificationProfileId": "#{verificationProfileId}"
})
这是我调用的验证函数:
def verify(verificationProfileId, pathToVoicePrint)
soundFile = File.read(pathToVoicePrint)
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify?verificationProfileId=#{verificationProfileId}")
uri.query = URI.encode_www_form({
})
request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['Content-Type'] = 'multipart/form-data'
# Request headers
request['Ocp-Apim-Subscription-Key'] = @subscriptionKey
# Request body
request.body = soundFile
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
return response
end
我直接从这个页面得到这个代码:https://dev.projectoxford.ai/docs/services/563309b6778daf02acc0a508/operations/56406930e597ed20c8d8549c
来自此 API 调用的 JSON 响应是:
{ "error": { "code": "NotFound", "message": "Resource or path can't be found." } }
此错误消息未在文档中的任何位置列出。我还在测试其他功能,例如注册,我在其中使用相同的参数(verificationProfileId 和 pathToVoicePrint)并且这些功能有效,所以我知道它们是正确的。
dev.projectoxford.ai 上的 ruby 片段是错误的,因为在 URI 构造器中设置了一个查询,但随后在后续行中被删除了。所以你会想要:
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify?verificationProfileId=#{verificationProfileId}")
# don't overwrite the uri.query
或
uri = URI("https://api.projectoxford.ai/spid/v1.0/verify")
uri.query = URI.encode_www_form({
"verificationProfileId": "#{verificationProfileId}"
})