Google NLP Api C#发生System.AggregateException

时间:2019-02-25 16:56:35

标签: c# api nlp return

我尝试使用Google的NLP Api过滤一行文本。

但是一旦我尝试返回一个值,就会出现一条错误消息。

我已经尝试调试代码,但是它不会比创建变量“ google”更持久。此后,程序将返回错误消息,指出“ MESSAGE_CREATED中发生了System.AggregateException”。这基本上意味着发生了多个错误。

有人能理解为什么会这样吗,或者我该如何解决?

    public dynamic DataFilter(string data)
    {
        var client = LanguageServiceClient.Create();

        var response = client.AnalyzeSentiment(new Document()
        {
            Content = data,
            Type = Document.Types.Type.PlainText
        });

        var sentiment = response.DocumentSentiment;
        return sentiment;
    }

    private async Task AnalyzeMessage(MessageCreateEventArgs e)
    {
        string retrievedData = e.Message.Content;
        string userMessage = retrievedData.ToLower();

        if(!e.Author.IsBot)
        {
            if(userMessage.Contains("nlp"))
            {
                string line = "What is the capital of the Netherlands";

                var google = DataFilter(line);

                await e.Channel.SendMessageAsync($"The value given back is {google.Magnitude}");
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

我发现了问题!

问题不在代码中,而是在Google API中。 api返回“ System.AggregateException”,因为没有将环境变量添加到应用程序中(我将其添加到计算机中,但这还不够)。

转到“解决方案资源管理器”>“右键单击您的项目”>“属性”>“调试”,然后添加名称“ GOOGLE_APPLICATION_CREDENTIALS”,并将其位置值添加到身份验证JSON文件中(您可以在{ {3}})

我希望这对其他人有帮助!