几个月前,我一直在使用必应翻译API,一切都很完美。
现在我需要打开旧文件并翻译一些东西,但它似乎不再起作用了。
试图在必应网站上做一些搜索,但这是非常混乱。我也在谷歌上搜索过,但是有那么多过时的文章,我不知道该相信哪一篇。
这是我以前的代码,运行得很好。
我今天注册了一个新的API密钥,但我认为新的API密钥是base64_encode格式的。我试着把它解码了,但还是不起作用。我当然试过了,但没有解码。
有人能帮上忙吗?
错误:
{“SearchResponse”:{“SearchResponse”:“2.2”,“查询”:{“SearchTerms”:“fish”},“错误”:{“代码”:1002,“消息”:“参数有无效值”。),“参数”:“SearchRequest.AppId”,“值”:“ccTq4vytm9Kh/MC8ux57OSvlU9 lqDkeiJkXM3L4jVk=",
我的代码
define('BING_API','KEY_HERE_AAAAAAAAA');
function loadData($url, $ref = false) {
$chImg = curl_init($url);
curl_setopt($chImg, CURLOPT_RETURNTRANSFER, true);
curl_setopt($chImg, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0");
if ($ref) {
curl_setopt($chImg, CURLOPT_REFERER, $ref);
}
$curl_scraped_data = curl_exec($chImg);
curl_close($chImg);
return $curl_scraped_data;
}
function translate($text, $from = 'en', $to = 'fr') {
$data = loadData('http://api.bing.net/json.aspx?AppId=' . BING_API . '&Sources=Translation&Version=2.2&Translation.SourceLanguage=' . $from . '&Translation.TargetLanguage=' . $to . '&Query=' . urlencode($text));
$translated = json_decode($data);
if (sizeof($translated) > 0) {
if (isset($translated->SearchResponse->Translation->Results[0]->TranslatedTerm)) {
return $translated->SearchResponse->Translation->Results[0]->TranslatedTerm;
} else {
return false;
}
} else {
return false;
}
}
echo translate('fish','en','fr');
发布于 2013-01-31 08:09:56
AFAIK,必应翻译器API在某个时候停止了,虽然我现在找不到新闻稿。它在幕后使用微软翻译器API。
Microsoft Translator API现在通过Azure Marketplace提供。有有限的免费访问。
示例/代码可以找到这里。
HTH。
发布于 2013-04-18 04:02:15
API仍然可用--它刚刚转移到。
有一个每月200万字符的免费选项。
这里的PHP示例:http://blogs.msdn.com/b/translation/p/phptranslator.aspx
您可以在这里看到如何获得它的凭据:http://blogs.msdn.com/b/translation/p/gettingstarted1.aspx
https://stackoverflow.com/questions/13673904
复制相似问题