Ruby Microsoft说话人识别API:为什么;核实;API调用返回“;资源或路径可以';找不到。”;?

Ruby Microsoft说话人识别API:为什么;核实;API调用返回“;资源或路径可以';找不到。”;?,ruby,rest,voice-recognition,microsoft-cognitive,Ruby,Rest,Voice Recognition,Microsoft Cognitive,这是我正在调用的验证函数: def verify(verificationProfileId, pathToVoicePrint) soundFile = File.read(pathToVoicePrint) uri = URI("https://api.projectoxford.ai/spid/v1.0/verify?verificationProfileId=#{verificationProfileId}") uri.query = U

这是我正在调用的验证函数:

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
我直接从这个页面获得了这个代码:

此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}"
})