Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
沃森视觉识别API C#授权_C#_Ibm Watson_Visual Recognition - Fatal编程技术网

沃森视觉识别API C#授权

沃森视觉识别API C#授权,c#,ibm-watson,visual-recognition,C#,Ibm Watson,Visual Recognition,试图让Watson Visual Recognition与C#一起工作,但在尝试通过API对图像进行分类时,我遇到了一个未经授权的错误。我使用的凭据是“自动生成的服务凭据” 我收到的错误是: ServiceResponseException:API查询失败,状态代码为Unauthorized:Unauthorized 这是我的密码: class Program { static void Main(string[] args) { string apiKey =

试图让Watson Visual Recognition与C#一起工作,但在尝试通过API对图像进行分类时,我遇到了一个未经授权的错误。我使用的凭据是“自动生成的服务凭据”

我收到的错误是: ServiceResponseException:API查询失败,状态代码为Unauthorized:Unauthorized

这是我的密码:

class Program
{
    static void Main(string[] args)
    {
        string apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        string versionDate = "2018-03-19";
        string endpoint = "https://gateway.watsonplatform.net/visual-recognition/api";

        VisualRecognitionService visualRecognition = new VisualRecognitionService(apiKey, versionDate);
        visualRecognition.SetEndpoint(endpoint);

        // throws error here
        var result = visualRecognition.Classify(url: "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Collage_of_Nine_Dogs.jpg/1023px-Collage_of_Nine_Dogs.jpg"); 
    }
}

另外,如果我能提供更多可能有帮助的信息,请告诉我。好的,在查看node.js实现的回答后,我找到了一个解决方案:

问题是我需要使用Iam Api密钥进行身份验证,可以这样做:

class Program
{
    static void Main(string[] args)
    {
        string apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        string versionDate = "2018-03-19";
        string endpoint = "https://gateway.watsonplatform.net/visual-recognition/api";

        VisualRecognitionService visualRecognition = new VisualRecognitionService(apiKey, versionDate);
        visualRecognition.SetEndpoint(endpoint);

        // updated to include token options with Iam Api Key
        TokenOptions options = new TokenOptions
        {
            IamApiKey = apiKey
        };
        visualRecognition.SetCredential(options);
        // end edit

        var result = visualRecognition.Classify(url: "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Collage_of_Nine_Dogs.jpg/1023px-Collage_of_Nine_Dogs.jpg");
    }
}

希望这对任何有类似问题的人都有帮助

你能用url试试吗:另外,需要用url中的“/”转义“/”:谢谢你的评论,我已经找到了解决方案@Gauravsa该url将错误更改为禁止:未经授权。没有必要在url中转义“/”,但我认为这样做是一种很好的做法。再次感谢