Для конвертации валюты я использую библиотеку «florianv / laravel-swap»: «^ 1.1». Florianv / Laravel замены.
Поскольку Fixer.io изменил свою реализацию, необходимо передать access_key с запросом, и из-за этого я получаю эту ошибку: «InvalidArgumentException: должна быть предоставлена опция« access_key », чтобы использовать fixer.io в /var/www/project/project-files/vendor/florianv/exchanger/src/Service/Fixer.php:51».
Я зарегистрировался и получил access_key.
Я обновил библиотеку, используя composer, и теперь я могу видеть три константы в продавец / florianv / обменник / SRC / Service / Fixer.php.
const ACCESS_KEY_OPTION = 'access_key';
const LATEST_URL = 'http://data.fixer.io/api/latest?base=%s&access_key=%s';
const HISTORICAL_URL = 'http://data.fixer.io/api/%s?base=%s&access_key=%s';
Чтобы передать ключ доступа, я попробовал это:
У меня есть файл swap.php в папке конфигурации, который выглядит примерно так:
return [
'options' => [
'cache_ttl' => 86400, // 24 hours.
'cache_key_prefix' => 'currency_rate'
],
'services' => [
'fixer' => true,
],
'currency_layer' => [
'access_key' => 'asdfas7832mw3nsdfa776as8dfa', // Your app id
'enterprise' => true, // True if your AppId is an enterprise one
],
'cache' => env('CACHE_DRIVER', 'file'),
'http_client' => null,
'request_factory' => null,
'cache_item_pool' => null,
];
У этого была еще одна опция, которая была прокомментирована, я включил и передал в нее access_key, но он не работает.
Я также добавил это в блок служб ниже ‘fixer => true’.
'currency_layer' => [
'access_key' => 'asdfas7832mw3nsdfa776as8dfa'
]
Также в блоке параметров:
'options' => [
'cache_ttl' => 86400, // 24 hours.
'cache_key_prefix' => 'currency_rate',
'access_key'=>'7ca208e9136c5e140d6a14427bf9ed21'
],
Я попытался добавить access_key в файл config / services.php, но это также не сработало.
'fixer' => [
'access_key' => 'asdfas7832mw3nsdfa776as8dfa'
],
Даже я пытался, добавив в env файл и звоня оттуда, но безуспешно. Как передать access_key, может кто-нибудь помочь мне в этом, какой должен быть подход.
vendor / florianv / exchanger / src / Service / Fixer.php -> не трогай постоянное (это была моя собственная ошибка).
Передайте массив параметров, создав Builder:
$options = ['access_key' => 'YourGeneratedAPIKeyAtCurrencyLayer'];
$this->exchangeSwap = (new Builder($options))
->add('fixer', $options )
->build();
Я надеюсь, что смогу помочь 😉
Других решений пока нет …