Maintenant, j’ai trouvé le API Google Finance et commencé à le parcourir, mais j’ai trouvé beaucoup d’informations sur les portefeuilles, les transactions, les positions et d’autres éléments dont je ne connais 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 seulement possible?
EDIT
Pour rendre les choses un peu plus claires. Je ne m'intéresse pas aux problèmes techniques et je ne veux pas de code.
Merci pour toutes vos réponses.
Free currencyconverterapi:
Un exemple d’URL de conversion est le suivant: http://free.currencyconverterapi.com/api/v5/convert?q=EUR_USD&compact=y
Pour la postérité, elles sont accompagnées d'autres réponses possibles:
Discontinued from 2017-11-06 avec le message
Il a été porté à notre attention que ce service est utilisé en violation des Conditions d'utilisation de Yahoo. En tant que tel, le service est interrompu. Pour toute recherche de données sur les marchés et les actions à venir, veuillez vous reporter à finance.yahoo.com.
Demande: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X
Ce fichier CSV était utilisé par un plugin jQuery appelé Curry . Depuis le (2017-08-29), Curry a choisi d'utiliser fix.io pour des raisons de stabilité. Peut-être utile si vous avez besoin de plus qu'un simple fichier CSV.
( merci à Keyo ) Le langage de requête Yahoo vous permet d'obtenir un grand nombre de devises à la fois en XML ou en JSON. Les données sont mises à jour à la seconde (alors que la Banque centrale européenne dispose de données obsolètes) et s’arrêtent le week-end. Ne nécessite aucun type d'inscription.
Voici la Générateur de requêtes YQL, où vous pouvez tester une requête et copier l’URL: (N’EST PLUS DISPONIBLE)
Gratuit pour un usage personnel (1000 hits par mois)
La modification de "base" (de "USD") n'est pas autorisée dans le compte Free.
Nécessite une inscription.
Requête: 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 ...
}
}
Free Plan pour 1000 hits mensuels
Changer de "source" (de "USD") n'est pas autorisé dans le compte Free
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
}
}
Plan gratuit pour 1 000 visites mensuelles
Il n'est pas permis de changer "source" (de "USD") dans le compte gratuit. Nécessite une inscription.
Ce noeud final d'API est obsolète et cessera de fonctionner le 1er juin 2018. Pour plus d'informations, rendez-vous sur: https://github.com/fixerAPI/fixer#readme)
Site Web: http://fixer.io/
Exemple de demande: http://api.fixer.io/latest?base=USD
Ne recueille qu'une valeur par jour
Docs: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev
Requête: 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>
Selon le site:
API de taux de change est un service gratuit pour les taux de change actuels et historiques publié par la Banque centrale européenne.Ce service est compatible avec fixer.io et est très facile à utiliser: aucune clé d’API n’est nécessaire. Par exemple (ceci utilise CURL, mais vous pouvez utiliser votre outil de requête favori):
> curl https://api.exchangeratesapi.io/latest?base=GBP&symbols=USD
{"base":"GBP","rates":{"USD":1.264494191},"date":"2019-05-29"}
La Banque centrale européenne (BCE) dispose également du flux gratuit le plus fiable que je connaisse. Il contient environ 28 devises et est mis à jour au moins une fois par jour.
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
Yahoo a une fonctionnalité YQL pour obtenir tout un tas de devises à la fois en XML ou JSON. J'ai remarqué que les données sont à jour à la minute où la BCE dispose de données obsolètes, et s'arrête le week-end.
Voici leur générateur de requêtes, où vous pouvez tester une requête et copier l'URL:
Si vous avez besoin d'une API simple et gratuite pour convertir une devise en une autre, essayez free.currencyconverterapi.com .
Disclaimer, je suis l'auteur du site et je l'utilise pour l'un de mes autres sites.
Le service est gratuit, même pour des 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 le suivant: http://free.currencyconverterapi.com/api/v6/convert?q=EUR_PHP&compact=ultra&apiKey=sample-api-key qui renverra une valeur au format JSON, par exemple. {"EUR_PHP": 60.849184}
J'ai eu 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);
?>
Voici quelques API d'échange avec l'exemple PHP.
Fournit 1 000 demandes par mois gratuitement. Vous devez vous inscrire et récupérer l'identifiant de l'application. La devise de base USD pour un compte gratuit. Vérifiez les devises supportées et 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
Fournit 1 000 demandes par mois gratuitement. Vous devez vous inscrire et saisir la clé d'accès. La devise de base personnalisée n'est pas prise en charge dans un compte gratuit. Vérifiez le 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
Vous pouvez essayer geoplugin
En plus de la géolocalisation par IP (mais l’IP est l’adresse du fournisseur, elle est donc moins précise), ils renvoient également des devises et disposent d’un convertisseur de devises: voir des exemples.
Ils ont 111 devises mises à jour.
Si vous cherchez une solution à base de Ruby pour résoudre ce problème, je vous recommande, à l'aide de la méthode Google Calculator, une solution similaire à celle-ci: 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})"
Voici un simple script PHP 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 dit lui-même ==> Google ne peut garantir l'exactitude des taux de change utilisés par la calculatrice. Vous devez confirmer les taux en vigueur avant d'effectuer toute transaction susceptible d'être affectée par les variations des taux de change. Les taux en devises fournis par Citibank N.A. sont affichés sous licence. Les tarifs sont donnés à titre indicatif et sont susceptibles d'être modifiés sans préavis. Les taux des transactions réelles peuvent varier et Citibank ne propose aucune transaction, quel que soit le taux affiché.