Comment puis-je obtenir des taux de change via une API telle que Google Finance? [fermé]


Maintenant, j'ai trouvé le Google Finance API et j'ai commencé à regarder cela, mais j'ai trouvé beaucoup d'informations sur les portefeuilles, les transactions, les positions et d'autres choses dont je ne sais rien.

Est-ce que je regarde les mauvais documents? Que dois-je faire pour obtenir un flux de taux de change de GF? Est-ce même possible?

MODIFIER

Pour rendre les choses un peu plus claires. Je ne suis pas intéressé par les trucs techniques et je ne veux aucun code.

Author: George Stocker, 2010-06-29

10 answers

Merci pour toutes vos réponses.

Gratuit currencyconverterapi:

  • Tarifs mis à jour toutes les 30 min
  • Aucun compte requis

Un exemple d'URL de conversion est: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y


Pour la postérité, ils sont ici avec d'autres réponses possibles:

  1. Yahoo finance API Abandonnées 2017-11-06

    Arrêté à compter du 2017-11-06 avec message

    , Il est venu à notre attention que ce service est utilisé pour violation de Yahoo Conditions de Service. En tant que tel, le service est interrompre. Pour toutes les futures recherches de données sur les marchés et les actions, veuillez vous référer à finance.yahoo.com.

    Demande: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
    Ce CSV était utilisé par un plugin jQuery appeléCurry . Curry a depuis (2017-08-29) déplacé à utiliser fixer.io au lieu de cela en raison de problèmes de stabilité. Peut-être utile si vous avez besoin de plus qu'un simple CSV.

  2. (merci à Keyo) Yahoo Query Language vous permet d'obtenir tout un tas de devises à la fois en XML ou JSON. Les données sont mises à jour à la seconde (alors que la Banque centrale européenne a des données d'un jour) et s'arrêtent le week-end. Ne nécessite pas de toute espèce de minscrire.

    Http://query.yahooapis.com/v1/public/yql?q=select * de yahoo.Finance.xchange où pair ("USDEUR", "l'USDJPY", "USDBGN", "USDCZK", "USDDKK", "USDGBP", "USDHUF", "USDLTL", "USDLVL", "USDPLN", "USDRON", "USDSEK", "l'USDCHF", "l'usdnok", "USDHRK", "USDRUB", "USDTRY", "USDAUD", "USDBRL", "USDCAD", "USDCNY", "USDHKD", "USDIDR", "USDILS", "USDINR", "USDKRW", "USDMXN", "USDMYR", "USDNZD", "USDPHP", "USDSGD", "USDTHB", "USDZAR", "USDISK")&env=magasin://datatables.org/alltableswithkeys

    Voici le YQL générateur de requêtes, où vous pouvez tester une requête et copie l'URL: (N'EST PLUS DISPONIBLE)

    http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20%28%22USDMXN%22%2C%20%22USDCHF%22%29

entrez la description de l'image ici

  1. API de taux de change Open Source

    Gratuit pour une utilisation personnelle (1000 visites par mois)
    Changer "base "(de" USD") n'est pas autorisé dans Free compte
    Nécessite une inscription.
    Demande: http://openexchangerates.org/latest.json
    Réponse:

    {
      "disclaimer": "This data is collected from various providers ...",
      "license": "all code open-source under GPL v3 ...",
      "timestamp": 1323115901,
      "base": "USD",
      "rates": {
          "AED": 3.66999725,
          "ALL": 102.09382091,
          "ANG": 1.78992886,
          // 115 more currency rates here ...
      }
    }
    
  2. Currencylayer API

    Plan gratuit pour 1 000 visites mensuelles
    Changer "source" (de "USD") n'est pas autorisé dans le compte gratuit
    Nécessite une inscription.
    Documentation: currencylayer.com/documentation

    Réponse JSON:

    {
      [...]
      "timestamp": 1436284516,
      "source": "USD",
      "quotes": {
          "USDAUD": 1.345352401,
          "USDCAD": 1.27373397,
          "USDCHF": 0.947845302,
          "USDEUR": 0.91313905,
          "USDGBP": 0.647603397,
          // 168 world currencies
          }
      }
    
  3. Fixer.io API (Banque Centrale Européenne données)

    Plan gratuit pour 1 000 visites mensuelles
    Changer "source" (de "USD") n'est pas autorisé dans le compte gratuit Nécessite une inscription.

    Ce point de terminaison API est obsolète et cessera de fonctionner le 1er juin 2018. Pour plus d'informations, veuillez visiter: https://github.com/fixerAPI/fixer#readme)


    Site web: http://fixer.io /
    Exemple de demande : http://api.fixer.io/latest?base=USD
    Collecte seulement une valeur par chaque jour

  4. Flux de la Banque centrale européenne

    Documents: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
    Demande: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

    Réponse XML:

    <Cube>
      <Cube time="2015-07-07">
      <Cube currency="USD" rate="1.0931"/>
      <Cube currency="JPY" rate="133.88"/>
      <Cube currency="BGN" rate="1.9558"/>
      <Cube currency="CZK" rate="27.100"/>
    </Cube>
    
  5. Requête de taux de change Google (analysée) Actuellement indisponible:

    Demande: http://rate-exchange.appspot.com/currency?from=USD&to=EUR
    Réponse:

    {"to": "EUR", "rate": 0.76911244400000001, "from": "USD"}
    


    Voici une autre API JSON(P) basée sur l'API Google (source: ce commentaire):
    http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1

    Original réponse par Ryan.

 723
Author: Frank, 2018-09-12 06:48:07

La Banque centrale européenne (BCE) a également le flux gratuit le plus fiable que je connaisse. Il contient environ 28 devises et est mis à jour au moins quotidiennement.

Http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

Pour plus de formats et d'outils, voir la page de référence de la BCE: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html

 52
Author: Ryan, 2011-08-23 17:37:42

Si vous avez besoin d'une API gratuite et simple pour convertir une devise en une autre, essayez free.currencyconverterapi.com .

Avertissement, je suis l'auteur du site et je l'utiliser pour un de mes autres sites.

Le service est gratuit même pour les applications commerciales mais n'offre aucune garantie. Pour des raisons de performances, les valeurs ne sont mises à jour que toutes les heures.

Un exemple d'URL de conversion est: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_PHP&compact=ultra{[2] } qui renverra une valeur au format json, par exemple {"EUR_PHP": 60.849184}

 34
Author: Manny, 2018-07-06 07:20:17

J'ai obtenu ce contenu de http://www.scriptarticle.com/2012/05/03/get-live-currency-rates-and-currency-conversion-using-php-and-apis/

<?php

function get_currency($from_Currency, $to_Currency, $amount) {
    $amount = urlencode($amount);
    $from_Currency = urlencode($from_Currency);
    $to_Currency = urlencode($to_Currency);

    $url = "http://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency";

    $ch = curl_init();
    $timeout = 0;
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt ($ch, CURLOPT_USERAGENT,
                 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $rawdata = curl_exec($ch);
    curl_close($ch);
    $data = explode('bld>', $rawdata);
    $data = explode($to_Currency, $data[1]);

    return round($data[0], 2);
}

// Call the function to get the currency converted
echo get_currency('USD', 'INR', 1);

?>
 26
Author: Lokesh, 2013-06-06 18:29:44

Voici quelques API exchange avec exemple PHP.

[ API des taux de change ouverts ]

Fournit gratuitement 1 000 demandes par mois. Vous devez vous inscrire et saisir l'ID de l'application. La devise de base USD pour compte gratuit. Vérifiez lesdevises prises en charge et la documentation .

// open exchange URL // valid app_id * REQUIRED *
$exchange_url = 'https://openexchangerates.org/api/latest.json';
$params = array(
    'app_id' => 'YOUR_APP_ID'
);

// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
    CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);

if (!empty($response->rates)) {
    // convert 150 USD to JPY ( Japanese Yen )
    echo $response->rates->JPY * 150;
}

150 USD = 18039.09015 JPY

[ API de la couche de devises ]

Fournit gratuitement 1 000 demandes par mois. Vous devez vous inscrire et saisir l'accès CLÉ. La devise de base personnalisée est pas prise en charge dans le compte gratuit. Consultez la documentation .

$exchange_url = 'http://apilayer.net/api/live';
$params = array(
    'access_key' => 'YOUR_ACCESS_KEY',
    'source' => 'USD',
    'currencies' => 'JPY',
    'format' => 1 // 1 = JSON
);

// make cURL request // parse JSON
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $exchange_url . '?' . http_build_query($params),
    CURLOPT_RETURNTRANSFER => true
));
$response = json_decode(curl_exec($curl));
curl_close($curl);

if (!empty($response->quotes)) {
    // convert 150 USD to JPY ( Japanese Yen )
    echo '150 USD = ' . $response->quotes->USDJPY * 150 . ' JPY';
}

150 USD = 18036.75045 JPY

 13
Author: Madan Sapkota, 2016-03-01 17:19:32

Vous pouvez essayer de geoplugin

A côté de la géolocalisation effectuée par IP (mais l'IP est l'IP du fournisseur, donc pas si précise), ils renvoient également des devises et disposent d'un convertisseur de devises: voir exemples.

Ils ont 111 devises mises à jour.

 1
Author: user3227746, 2016-04-04 11:56:35

Si vous recherchez une solution basée sur ruby pour ce problème, je recommande d'utiliser la méthode Google Calculator une solution similaire à la suivante: http://j.mp/QIC564

require 'faraday'
require 'faraday_middleware'
require 'json'

# Debug: 
# require "pry"


country_code_src = "USD"
country_code_dst = "INR"
connection = Faraday.get("http://www.google.com/ig/calculator?hl=en&q=1#{country_code_src}=?#{country_code_dst}")

currency_comparison_hash = eval connection.body #Google's output is not JSON, it's a hash

dst_currency_value, *dst_currency_text = *currency_comparison_hash[:rhs].split(' ')
dst_currency_value = dst_currency_value.to_f
dst_currency_text = dst_currency_text.join(' ')

puts "#{country_code_dst} -> #{dst_currency_value} (#{dst_currency_text} to 1 #{country_code_src})"
 0
Author: ylluminate, 2013-06-06 18:32:17

Voici un script PHP simple qui obtient le taux de change entre GBP et USD

<?php
$amount = urlencode("1");
$from_GBP0 = urlencode("GBP");
$to_usd= urlencode("USD");
$Dallor = "hl=en&q=$amount$from_GBP0%3D%3F$to_usd";
$US_Rate = file_get_contents("http://google.com/ig/calculator?".$Dallor);
$US_data = explode('"', $US_Rate);
$US_data = explode(' ', $US_data['3']);
$var_USD = $US_data['0'];
echo $to_usd;
echo $var_USD;
echo '<br/>'; 
?>

Les taux de change de Google ne sont pas exacts Google lui-même dit ==> Google ne peut pas garantir l'exactitude des taux de change utilisés par la calculatrice. Vous devez confirmer les taux actuels avant d'effectuer toute transaction qui pourrait être affectée par les changements des taux de change. Les taux de change fournis par Citibank N. A. sont affichés sous licence. Les tarifs sont donnés à titre indicatif et sont sujets à changement sans préavis. Les taux pour les transactions réelles peuvent varier et Citibank ne propose pas de conclure une transaction à tout taux affiché.

 0
Author: mohamed nur, 2013-06-06 18:33:19

Pour tous les débutants à la recherche d'un indice sur la conversion des devises, jetez un oeil à ce lien. Datavoila

Cela a beaucoup aidé med concernant mon propre projet en C#. Juste au cas où le site disparaîtrait, j'ajouterai le code ci-dessous. Ajoutez simplement les étapes ci-dessous à votre propre projet. Désolé pour la mise en forme.

const string fromCurrency = "USD";
const string toCurrency = "EUR";
const double amount = 49.95;
// For other currency symbols see http://finance.yahoo.com/currency-converter/
// Clear the output editor //optional use, AFAIK
Output.Clear();

// Construct URL to query the Yahoo! Finance API
const string urlPattern = "http://finance.yahoo.com/d/quotes.csv?s={0}{1}=X&f=l1";
string url = String.Format(urlPattern, fromCurrency, toCurrency);

// Get response as string
string response = new WebClient().DownloadString(url);

// Convert string to number
double exchangeRate =
    double.Parse(response, System.Globalization.CultureInfo.InvariantCulture);

// Output the result
Output.Text = String.Format("{0} {1} = {2} {3}",
                            amount, fromCurrency,
                            amount * exchangeRate, toCurrency);
 -1
Author: Emperor 2052, 2013-06-06 18:25:17