谷歌货币转换器不再工作



看来谷歌财经货币转换器已经完全停止工作。一周前,我开始从我的Magento 1.9.2商店收到这些电子邮件通知:

货币更新警告:警告:无法从 https://finance.google.com/finance/converter?a=1&from=GBP&to=EUR 检索速率。警告:无法从 https://finance.google.com/finance/converter?a=1&from=GBP&to=USD 检索速率。

这些网址确实不再有效。有谁知道我们是否可以使用新的 URL,或者我们是否需要配置不同的服务?

此链接不再有效。

 protected $_url = 'https://finance.google.com/finance/converter?a=1&from={{CURRENCY_FROM}}&to={{CURRENCY_TO}}';

我研究并找到了这个代码。

找到此文件:

app/code/local/Payserv/GoogleFinance/Model/Google.php

将代码替换为以下内容:

class Payserv_GoogleFinance_Model_Google extends Mage_Directory_Model_Currency_Import_Abstract {
protected $_url = 'http://free.currencyconverterapi.com/api/v3/convert?q={{CURRENCY_FROM}}_{{CURRENCY_TO}}';
protected $_messages = array();
protected function _convert($currencyFrom, $currencyTo, $retry=0) {
    $url = str_replace('{{CURRENCY_FROM}}', $currencyFrom, $this->_url);
    $url = str_replace('{{CURRENCY_TO}}', $currencyTo, $url);
    try {
         $resultKey = $currencyFrom.'_'.$currencyTo;
         $response = file_get_contents($url);
         $data = Mage::helper('core')->jsonDecode($response);
         $results = $data['results'][$resultKey];
         $queryCount = $data['query']['count'];
         if( !$queryCount &&  !isset($results)) {
            $this->_messages[] = Mage::helper('directory')->__('Cannot retrieve rate from %s.', $url);
            return null;
        }
       return (float)$results['val'];
    } catch (Exception $e) {
        if ($retry == 0) {
            $this->_convert($currencyFrom, $currencyTo, 1);
        } else {
            $this->_messages[] = Mage::helper('directory')->__('Cannot retrieve rate from %s', $url);
        }
    }
}
}

它似乎是间歇性的(它显示我是否加载页面 10 次左右,但每 10 次点击才加载一次(。但我个人已经开始配置其他服务。我正在使用银行API(目前是瑞典的API,所以它可能对你没有帮助(。但是请与您的银行核实,他们通常有API。

祝你好运!

显然谷歌不再提供这项服务了。

主要的替代方案似乎是:

  • Fixer.io 接口
  • 货币层接口

两者都每月免费提供1000个请求(您需要在其主页上创建一个帐户(

来源: https://stackoverflow.com/a/8391430/716435

Google 不再提供货币转换器 API。有几种替代 API 提供货币换算数据。有些已经在帖子中提到过(Fixer,Currencylayer...(

另一种选择是 SWOP 货币汇率 API,这是一个快速、易于使用、可靠和透明的外汇汇率 API,由开发人员为开发人员制作。完全免责声明:我是 SWOP :) 的开发人员之一

  • SWOP API 提供 180+ 种货币的当前和历史汇率。它们直接从可信来源(各种中央银行和其他重要银行(收集。
  • SWOP API 有两个端点,GraphQL 和 REST/JSON,方便开发人员使用。
  • 有一个免费计划,每月允许 1,000 个请求。

问题出在链接上,谷歌最近更新了 api 链接,我发现一次检查现有链接 10 次成功。尝试更改为此链接 https://www.google.com/finance/converter

请参阅此 https://www.techbuy.in/google-finance-api-currency-converter-not-working-updated-link-check-currency-converter/

我上周遇到了同样的问题。但是新的网址解决了我的问题,现在货币转换工作正常。试试这个:https://finance.google.com/bctzjpnsun/converter

Google的财务URL目前似乎不起作用,我已经准备了一个解决方法来使用MSN Money(Microsoft的(API。它返回JSON,因此您可以使用任何编程语言使用它,我已经使用PHP放置了示例:

    function msn($from, $to, $amount) {
    $url = 'https://finance.services.appex.bing.com/Market.svc/ChartDataV5?symbols=245.20.'.strtoupper($from).strtoupper($to).'LITE&chartType=1y';
    $request = curl_init();
    $timeOut = 0;
    curl_setopt($request, CURLOPT_URL, $url);
    curl_setopt($request, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($request, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');
    curl_setopt($request, CURLOPT_CONNECTTIMEOUT, $timeOut);
    $response = json_decode(curl_exec($request));
    curl_close($request);
    $rate = array_last($response[0]->Series)->P;
    return $rate * $amount;
}

上述函数接受您当前拥有的货币、目标货币和金额。将 GET 请求发送到 MSN URL,并解析 JSON 以获取今天的汇率。最后,它将汇率乘以您的金额以将其转换为目标货币。

我希望这能解决您的需求,代码有很大的优化空间,我只是给了您一个简单的实现例如,您可以将汇率保存在数据库中,并将该汇率使用一天,这样您每天只会调用一次 API。

最新更新