[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 如何使用powershell 调用百度翻译

本帖最后由 5i365 于 2022-1-16 21:58 编辑

坛里搜索了一下, 有使用python进行翻译的, 但是年头久远,
百度找了一下资料, 发现用下面的一行CMD代码就可以实现翻译, 但是我用自己的access_token测试发现还是报错, 这个access_token的值, 可以根据官网的资料,通过API Key和Secret Key获取到, 注册并申请后, 有免费的翻译额度, 个人完全够用
下面是百度翻译官网的资料链接, 求精通的高手指点一下, 感谢!
https://ai.baidu.com/ai-doc/MT/4kqryjku9

curl -H "Content-Type: application/json" -X POST -d '{"q":"hello","from":"en","to":"zh"}' "https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=这里填写access_token"

CMD报错信息如下:

需要你注册百度AI账号,并开通翻译项目就能用.
我有ps脚本,可以联系.
微信:flashercs
QQ:49908356

TOP

回复 2# flashercs


感觉提醒, 我已经注册帐号了, 也取到了tk了, 但还是报错

目前用的OCR和翻译用的是天若OCR的VIP,  

PS翻译代码, 不是刚需, 只是想学习一下, 看看是不是还有别的ps翻译方式,

TOP

找到一段PS代码, 但是参数没有找到?
  1. function BDTranslate{
  2. param(
  3. [string]$q,
  4. [string]$from='zh',
  5. [string]$to='en'
  6. )
  7. $appid = "你的AppId"
  8. $sign = '你的App密码'
  9. $salt = Get-Random
  10. $signtoken = "{0}{1}{2}{3}" -f $appid,$q,$salt,$sign
  11. $signtoken = Get-Hash -string $signtoken  -algorithm MD5
  12. $response = Invoke-RestMethod http://api.fanyi.baidu.com/api/trans/vip/translate -Method Post -Body @{
  13. q=$q
  14. from="zh"
  15. to="en"
  16. appid=$appid
  17. salt=$salt
  18. sign = $signtoken.ToLower()
  19. }
  20. $response
  21. }
  22. BDTranslate -q 'PowerShell中文博客'
复制代码

TOP

还找到一个超清的讲ps百度翻译的视频
https://www.ixigua.com/6830358016794034696
但是感觉可能百度认证tk改了, 真是怪了, 怎么搞就是报错, 已经提交工单了, 正在审核

TOP

这个CURL问题, 百度官方工程师, 已经确认是BUG了, 让用别的方式了

TOP

本帖最后由 5i365 于 2022-1-18 16:15 编辑

官方给的powershell代码,执行后结果有乱码:
  1. $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
  2. $headers.Add("Content-Type", "application/json")
  3. $body = "{`"q`":`"hello`",`"from`":`"en`",`"to`":`"zh`"}"
  4. $response = Invoke-RestMethod 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=获取的Tk' -Method 'POST' -Headers $headers -Body $body
  5. $response | ConvertTo-Json
复制代码

TOP

我换成下面的方式就报错了
  1. $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
  2. $headers.Add("Content-Type", "application/json")
  3. $response = Invoke-RestMethod 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=获取的Tk' -Method 'POST' -Headers $headers -Body @{
  4. q   = "hello"
  5. from  = "en"
  6. to    = "zh"
  7. }
  8. $response | ConvertTo-Json
复制代码

TOP

返回列表