2017-06-08 3 views
2

Hier versuche ich alle Konten zu erhalten, die coinbase api mit:Coinbase api get Anfrage nicht alle Datensätze zurück

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(); 

OUTPUT: Nur 25 Konten in diesem Array

Wie bekomme ich alle Konten? ??

Antwort

1

Überprüfen Sie die API-Dokumentation.

Alle GET-Endpunkte, die eine Objektliste zurückgeben, unterstützen die cursorbasierte Seitennummerierung mit Paginierungsinformationen innerhalb eines Paginierungsobjekts. Um alle Objekte zu erhalten, müssen Sie die -Ergebnisse paginieren, indem Sie immer die ID der letzten Ressource in der Liste als Parameter starting_after für den nächsten Aufruf verwenden.

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

So Ihre Anfrage nur gibt die 25 ersten Ergebnisse. Um alle Konten zu erhalten, müssen Sie eine Schleife mit der zurückgegebenen next_uri erstellen (siehe Beispielantwort).

{ 
    "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": [ 
    ... 
    ] 
} 
+0

Hilfreiche Dank! – user61871

0

in NodeJS nach documentation:

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); 
    }); 
    }); 
}); 
Verwandte Themen