Я разрабатываю с помощью LocalBitcoins API, используя nodejs. Вот код
const adsList = async (action, options = {}, page) => {
let prefix = action + '-'
let countryCode = (options.countryCode) ? options.countryCode : false
let countryName = (options.countryName) ? options.countryName : false
let paymentMethod = (options.paymentMethod) ? options.paymentMethod : false
let currency = (options.currency) ? options.currency : false
let basePath = prefix + 'bitcoins-online'
let suffix = (page > 1) ? `.json?page=2` : '.json'
let path
if (currency) {
path = (paymentMethod) ? `${basePath}/${currency}/${paymentMethod}/${suffix}` : `${basePath}/${currency}/${suffix}`
} else if (countryCode && countryName) {
path = (paymentMethod) ? `${basePath}/${countryCode}/${countryName}/${paymentMethod}/${suffix}` : `${basePath}/${countryCode}/${countryName}/${suffix}`
} else if (!currency && !countryCode && !countryName) {
path = (paymentMethod) ? `${basePath}/${paymentMethod}/${suffix}` : `${basePath}/${suffix}`
}
let response = await get(path, true)
return response
}
Теперь, когда я звоню без указания страницы, все работает нормально.
adsList('sell', {
countryCode: 'co',
countryName: 'colombia'
}).then(response => {
console.log(response)
})
Вывод:
{
pagination: {
next: 'https://localbitcoins.com/sell-bitcoins-online/co/colombia/.json?page=2'
},
data: {
ad_list: [
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object], [Object], [Object],
[Object], [Object]
],
ad_count: 50
}
}
Ах, но когда я добавляю страницу:
adsList('sell', {
countryCode: 'co',
countryName: 'colombia'
}, 2).then(response => {
console.log(response)
})
Это вывод:
{
error: {
message: 'HMAC authentication key and signature was given, but they are invalid.',
error_code: 41
}
}
Я работал над этим часами, но искал информацию, но ничего не было, так что если вы есть какое-то решение, я буду благодарен.