Ger*_*cke 0 c# webclient google-translate
我现在用谷歌搜索了将近一个小时,但找不到任何可以帮助我的东西。我是一名初级程序员,从 TeamTreeHouse 学习了 C# 序列化课程。在这里我也学会了如何使用WebClient。
现在我认为一个好的实践项目是制作一个翻译应用程序,将用户在 POST 请求中输入的内容发送给谷歌,然后谷歌将答案作为我反序列化的 Json 返回。
问题是我通读了 api 的文档,但我很困惑我应该向 google 发送什么内容以及到底如何做到这一点?
我知道这个方法webclient.Headers.Add(arguments here),但我真的不知道它还需要什么。
您可以在这里找到一个示例:
https://cloud.google.com/translate/docs/translated-text
https://translation.googleapis.com/language/translate/v2 每个翻译请求需要三个查询参数:
目标语言:使用目标参数指定要翻译成的语言。源文本字符串:使用 q 参数指定要翻译的每个文本字符串。API key:使用 key 参数来识别您的应用程序。如果您使用 OAuth 2.0 服务帐户凭据(推荐),请不要提供此参数。
所以问题是该示例 URL 中没有占位符,我可以将 api 密钥 + 源文本字符串放入目标语言。
那么我到底应该向 google 发送什么,以便它知道我想要什么并返回 JSON 文件?
也许有人可以帮助我。我知道有一个官方库专门用于此目的,但我想练习序列化并使用 WebClient 类进行网络抓取,所以我想这样做。
您专门询问了一个帖子。
当然,将 MY_KEY 替换为您的密钥。
添加内容类型的标头:
应用程序/json;字符集=utf-8
将您的文本和目标语言格式化为 JSON 并将其写入您的请求流:
{"q":"团队合作是这个地点的主要进步因素,看来每个人都愿意在力所能及的情况下提供帮助。","target":"fr"}