Здесь я пытаюсь получить все учетные записи, используя 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 учетных записей в этом массиве
Как мне получить все аккаунты ???
Проверьте документацию 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": [
...
]
}
в 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);
});
});
});