Настройка сети / безопасности / прокси для использования облачного API Google - PullRequest
0 голосов
/ 03 января 2019

Я недавно начал работать над облачными API Google.Я специально использовал API-интерфейс Video Intelligence для транскрибирования нескольких примеров видео.Я был успешным, когда я был в моей домашней сети (неограниченный доступ).Однако то же самое не получается, когда я делаю это в своей офисной сети.Несколько исключений: превышен крайний срок (чаще всего), разрешение имен не удалось.

Дополнительная информация: Я использую Visual Studio 2017 для Windows 10. Скопированный / измененный код указан здесь:

public static object TranscribeVideo(string uri, Google.Protobuf.ByteString bs = null)
    {
        Console.WriteLine("Processing video for speech transcription.");
        Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", HttpContext.Current.Server.MapPath(@"wise-imagery-226908-bf698173d28c.json")); //for authentication

        var client = VideoIntelligenceServiceClient.Create();

        AnnotateVideoRequest request = null;
        if (uri != "")
        {
            request = new AnnotateVideoRequest
            {
                InputUri = uri,
                Features = { Feature.SpeechTranscription },
                VideoContext = new VideoContext
                {
                    SpeechTranscriptionConfig = new SpeechTranscriptionConfig
                    {
                        LanguageCode = "en-IN",
                        EnableAutomaticPunctuation = true
                    }
                },

            };
        }
        else
        {
            request = new AnnotateVideoRequest
            {
                InputContent = bs,
                Features = { Feature.SpeechTranscription },
                VideoContext = new VideoContext
                {
                    SpeechTranscriptionConfig = new SpeechTranscriptionConfig
                    {
                        LanguageCode = "en-IN",
                        EnableAutomaticPunctuation = true
                    }
                },
            };
        }
        var op = client.AnnotateVideo(request).PollUntilCompleted();

        // There is only one annotation result since only one video is
        // processed.
        var annotationResults = op.Result.AnnotationResults[0];
        StringBuilder sb = new StringBuilder();
        sb.Append(uri + ": \r\n");
        foreach (var transcription in annotationResults.SpeechTranscriptions)
        {
            // The number of alternatives for each transcription is limited
            // by SpeechTranscriptionConfig.MaxAlternatives.
            // Each alternative is a different possible transcription
            // and has its own confidence score.
            foreach (var alternative in transcription.Alternatives)
            {
                Console.WriteLine("Alternative level information:");

                Console.WriteLine($"Transcript: {alternative.Transcript}");
                Console.WriteLine($"Confidence: {alternative.Confidence}");

                foreach (var wordInfo in alternative.Words)
                {
                    Console.WriteLine($"\t{wordInfo.StartTime} - " +
                                      $"{wordInfo.EndTime}:" +
                                      $"{wordInfo.Word}");
                    sb.Append($"{wordInfo.Word + " "}");
                }
            }
            sb.Append("\r\n\r\n");
        }
        return 0;
    }

Я хотел знать, что конфигурация сети / безопасности / прокси-сервера (с указанием портов, разрешенных списков) должна быть настроена в моей офисной сети, чтобы я мог соответствующим образом консультировать группы.Любая помощь очень ценится.

...