Coinbase api get request не возвращает все записи

Здесь я пытаюсь получить все учетные записи, используя API-интерфейс coinbase:

require 'MyInclude/vendor/autoload.php';
use Coinbase\Wallet\Client;
use Coinbase\Wallet\Configuration;
use Coinbase\Wallet\Resource\Account;
use Coinbase\Wallet\ActiveRecord\AccountActiveRecord;

$apiKey =  'API KEY';
$apiSecret =  'API SECERET';
$configuration = Configuration::apiKey($apiKey, $apiSecret);

$client = Client::create($configuration);

$accounts = $client->getAccounts();

ВЫХОД: Только 25 учетных записей в этом массиве

Как мне получить все аккаунты ???

2

Решение

Проверьте документацию API.

Все конечные точки GET, которые возвращают список объектов, поддерживают курсор на основе
нумерация страниц с информацией о нумерации страниц внутри объекта нумерации страниц.
Это означает, что, чтобы получить все объекты, вам нужно разбить
результаты всегда используя идентификатор последнего ресурса в списке в качестве
Параметр start_after для следующего вызова.

https://developers.coinbase.com/api/v2#pagination

Таким образом, ваш запрос просто возвращает 25 первых результатов. Для того, чтобы получить все учетные записи, вам нужно сделать цикл, используя возвращенный next_uri (см. пример ответа).

{
"pagination": {
"ending_before": null,
"starting_after": null,
"limit": 25,
"order": "desc",
"previous_uri": null,
"next_uri": "/v2/accounts?&limit=25&starting_after=5d5aed5f-b7c0-5585-a3dd-a7ed9ef0e414"},
"data": [
...
]
}
2

Другие решения

в nodeJS в соответствии с документация:

account.getTransactions(null, function(err, txns, pagination) {
txns.forEach(function(txn) {
console.log('my txn: ' + txn.id);
});
console.log(pagination.next_uri);
account.getTransactions(pagination, function(err, txns) {
txns.forEach(function(txn) {
console.log('my txn: ' + txn.id);
});
});
});
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector