Я хочу создать очень простой интерфейс на основе PHP для отображения данных из Mtgox API. Я не люблю свой торговый интерфейс, поэтому я хочу, чтобы создать веб-страницу, чтобы организовать дисплеи на мой вкус.
Ссылка для документации неофициального апи https://bitbucket.org/nitrous/mtgox-api/overview
В настоящее время, я застрял на самом первом этапе возможность получения данных и отображения данных с использованием имеющегося кода пример PHP. Код не может получить очень простой дамп данных. Может кто-то дать рабочий пример, чтобы я начал. Я пытаюсь реализовать mtgox апите версии 2. Единственный кодом, который я изменил в стандартном пример кода является путем и определение базового (выделен жирным шрифтом в коде ниже)
спасибо
Код:
PHP
функция mtgox_query($ путь, массив $ REQ = Массив ()) {
// Параметры API
$ ключ знак равно «Мой действительный ключ»;
$ секрет знак равно «Мой секретный код»;
// генерировать случайное слово как микропоры, с обработкой, как-нить, чтобы избежать проблем с системами 32бит
$ т знак равно взрываться(«», микропоры());
$ REQ[«Одноразовое значение»знак равно $ т[1].зиЬзЬг($ т[0], 2, 6);
// генерировать строку POST данных
$ post_data знак равно http_build_query($ REQ, «», '&');
префикс $ знак равно «»;
если (зиЬзЬг($ путь, 0, 2) == '2 /') {
префикс $ знак равно зиЬзЬг($ путь, 2)."\ 0";
}
// генерировать дополнительные заголовки
$ заголовки = Массив (
'Отдых-Key:'.$ ключ,
'Rest-Sign:'.base64_encode(hash_hmac('Sha512', префикс $.$ post_data, base64_decode($ секрет), правда)),
);
// наш завиток ручки (инициализация, если это необходимо)
статический $ ч знак равно ноль;
если (нулевой($ ч)) {
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, правда);
curl_setopt($ ч, CURLOPT_USERAGENT, 'Mozilla / 4.0 (совместимый; MtGox PHP клиента;'.php_uname('S').«; PHP /».phpversion().')');
}
curl_setopt($ ч, CURLOPT_URL, 'Https://data.mtgox.com/api/2/'.$ путь); // Базовый URL
curl_setopt($ ч, CURLOPT_POSTFIELDS, $ post_data);
curl_setopt($ ч, CURLOPT_HTTPHEADER, $ заголовки);
curl_setopt($ ч, CURLOPT_SSL_VERIFYPEER, ЛОЖНЫЙ);
// выполнить запрос
$ Рез знак равно curl_exec($ ч);
если ($ Рез === ложный) Бросить новый исключение(«Не удалось получить ответ:».curl_error($ ч));
$ декабрь знак равно json_decode($ Рез, правда);
если (!$ декабрь) Бросить новый исключение(«Получил недопустимые данные, пожалуйста, убедитесь, что подключение работает и запрошенный API существует»);
вернуть $ декабрь;
}
// Пример 1: получить Infos о счете, плюс перечень прав, мы имеем доступ к
var_dump(mtgox_query('BTCUSD / деньги / тикер'));// ДОРОЖКА
// старый апи (получить денежные средства)
//var_dump(mtgox_query('0/getFunds.php '));
// Пример торговли
// var_dump (mtgox_query ( '0 / buyBTC.php', массив ( 'количество' => 1, 'цена' => 15)));
функция mtgox_query($ путь, массив $ REQ = Массив ()) {
// Параметры API
$ ключ знак равно «Мой действительный ключ»;
$ секрет знак равно «Мой секретный код»;
// генерировать случайное слово как микропоры, с обработкой, как-нить, чтобы избежать проблем с системами 32бит
$ т знак равно взрываться(«», микропоры());
$ REQ[«Одноразовое значение»знак равно $ т[1].зиЬзЬг($ т[0], 2, 6);
// генерировать строку POST данных
$ post_data знак равно http_build_query($ REQ, «», '&');
префикс $ знак равно «»;
если (зиЬзЬг($ путь, 0, 2) == '2 /') {
префикс $ знак равно зиЬзЬг($ путь, 2)."\ 0";
}
// генерировать дополнительные заголовки
$ заголовки = Массив (
'Отдых-Key:'.$ ключ,
'Rest-Sign:'.base64_encode(hash_hmac('Sha512', префикс $.$ post_data, base64_decode($ секрет), правда)),
);
// наш завиток ручки (инициализация, если это необходимо)
статический $ ч знак равно ноль;
если (нулевой($ ч)) {
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, правда);
curl_setopt($ ч, CURLOPT_USERAGENT, 'Mozilla / 4.0 (совместимый; MtGox PHP клиента;'.php_uname('S').«; PHP /».phpversion().')');
}
curl_setopt($ ч, CURLOPT_URL, 'Https://data.mtgox.com/api/2/'.$ путь); // Базовый URL
curl_setopt($ ч, CURLOPT_POSTFIELDS, $ post_data);
curl_setopt($ ч, CURLOPT_HTTPHEADER, $ заголовки);
curl_setopt($ ч, CURLOPT_SSL_VERIFYPEER, ЛОЖНЫЙ);
// выполнить запрос
$ Рез знак равно curl_exec($ ч);
если ($ Рез === ложный) Бросить новый исключение(«Не удалось получить ответ:».curl_error($ ч));
$ декабрь знак равно json_decode($ Рез, правда);
если (!$ декабрь) Бросить новый исключение(«Получил недопустимые данные, пожалуйста, убедитесь, что подключение работает и запрошенный API существует»);
вернуть $ декабрь;
}
// Пример 1: получить Infos о счете, плюс перечень прав, мы имеем доступ к
var_dump(mtgox_query('BTCUSD / деньги / тикер'));// ДОРОЖКА
// старый апи (получить денежные средства)
//var_dump(mtgox_query('0/getFunds.php '));
// Пример торговли
// var_dump (mtgox_query ( '0 / buyBTC.php', массив ( 'количество' => 1, 'цена' => 15)));
Я запускаю этот код на ПК с установленным XAMPP. Ошибка Выход
Код:
Массив (3) {["результат"знак равно> строка (5) "ошибка" ["ошибка"знак равно> Строка (45) "Идентификация необходима для доступа частного API" ["знак"знак равно> Строка (29) "login_error_invalid_rest_sign" }