Хобрук: Ваш путь к мастерству в программировании

Как отправить запрос POST в Google Translate Api с помощью C# WebClient?

Я гуглил почти час и не могу найти ничего, что могло бы мне помочь. Я начинающий программист и прошел курс TeamTreeHouse с сериализацией на C#. Здесь я также научился использовать WebClient.

Теперь я подумал, что хорошим практическим проектом будет создание приложения Translate, которое отправляет в Google пользовательский ввод в запросе POST, а Google возвращает ответ в виде Json, который я десериализую.

Проблема в том, что я прочитал документацию по API, но я так смущен тем, что я должен отправить именно в Google и как это сделать?

Я знаю метод webclient.Headers.Add(arguments here) , но я действительно не знаю, что еще ему нужно.

Вы можете найти пример здесь:

https://cloud.google.com/translate/docs/translating-text

https://translation.googleapis.com/language/translate/v2 Три параметра запроса требуются при каждом запросе на перевод:

Целевой язык. Используйте целевой параметр, чтобы указать язык, на который вы хотите перевести текст. Исходная текстовая строка. Используйте параметр q, чтобы указать каждую текстовую строку для перевода. Ключ API. Используйте ключевой параметр для идентификации вашего приложения. Если вы используете учетные данные сервисной учетной записи OAuth 2.0 (рекомендуется), не указывайте этот параметр.

Итак, проблема в том, что в этом примере URL-адреса нет заполнителя, где я мог бы поместить свой ключ API + исходную текстовую строку для целевого языка.

Итак, что именно я должен отправить в Google, чтобы он знал, чего я хочу, и возвращал мне файл JSON?

Может быть, кто-нибудь мог бы мне помочь. И я знаю, что именно для этого существует официальная библиотека, но я хочу попрактиковаться в сериализации и использовании парсинга веб-страниц с классом WebClient, поэтому я хочу сделать это так.


Ответы:


1

Документация здесь: https://cloud.google.com/translate/docs/reference/translate#body.QUERY_PARAMETERS

говорит использовать параметры запроса q, цель, ключ и т. д. Таким образом, ваш URL-адрес должен выглядеть примерно так: https://translation.googleapis.com/language/translate/v2?key=[yourAPIkey]&target=language

29.08.2017
  • Спасибо это то что я искал. Трудно гуглить и искать то, что нужно, когда вы только начинаете. 29.08.2017

  • 2

    Вы специально спросили о POST.

    1. Вы можете использовать этот URL:

      https://translation.googleapis.com/language/translate/v2?key=MY_KEY

    Конечно, замените MY_KEY своим ключом.

    1. Добавьте заголовок для типа контента:

      приложение/json; кодировка = utf-8

    2. Отформатируйте свой текст и целевой язык как JSON и запишите его в свой поток запросов:

      {"q":"Командная работа является основным фактором прогресса в этом месте, кажется, что каждый готов помочь, когда может.","target":"fr"}

    01.08.2018
    Новые материалы

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..