簡體   English   中英

如何使用C#WebClient向Google Translate Api發送POST請求?

[英]How do I send a POST Request to Google Translate Api using a C# WebClient?

我現在在Google上搜索了近一個小時,卻找不到任何可以幫助我的東西。 我是一名初級程序員,從TeamTreeHouse那里學習了C#中的序列化。 在這里,我還學習了如何使用WebClient。

現在,我認為一個好的實踐項目將是制作一個Translate應用,該應用將POST請求中的用戶輸入發送給Google,然后Google以我反序列化的Json形式返回答案。

問題是我通讀了api的文檔,但是我對應該准確發送給google的內容感到困惑,而實際上該怎么做呢?

我知道方法webclient.Headers.Add(arguments here) ,但我真的不知道它還需要什么。

您可以在此處找到示例:

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

每個翻譯請求都需要https://translation.googleapis.com/language/translate/v2三個查詢參數:

目標語言 :使用target參數指定要翻譯成的語言。 源文本字符串 :使用q參數指定每個要翻譯的文本字符串。 API key :使用key參數標識您的應用程序。 如果您使用的是OAuth 2.0服務帳戶憑據(推薦),請不要提供此參數。

因此,問題出在該示例URL中沒有占位符,我可以在其中將api鍵+文本字符串作為目標語言。

那我到底應該發送給google以便它知道我想要什么並向我返回JSON文件呢?

也許有人可以幫助我。 而且我知道有一個官方庫可以滿足此要求,但是我想練習序列化並在WebClient類中使用Web抓取功能,所以我想這樣做。

您專門詢問了POST。

  1. 您可以使用以下網址:

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

當然,將MY_KEY替換為您的密鑰。

  1. 添加內容類型的標題:

    應用/ JSON; 字符集= utf-8的

  2. 將文本和目標語言格式設置為JSON並將其寫入請求流:

    {“ q”:“團隊工作是此地點的主要進步創造者,似乎每個人都願意在可能的時候提供幫助。”,“ target”:“ fr”}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM