Salve,
ho un problema che non riesco a superare,
devo utilizzare delle API di "Coinbase" per gestire varie funzioni,
ho un esempio ufficiale in Python, vorrei realizzarlo in php, ho fatto un test ma chiaramente non funziona, credo con certezza che ho proprio sbagliato strada.
Potreste darmi una mano per farlo funzionare ??
Python ufficiale:
codice:API_KEY = 'API_KEY' API_SECRET = 'API_SECRET' # Create custom authentication for Coinbase API class CoinbaseWalletAuth(AuthBase): def __init__(self, api_key, secret_key): self.api_key = api_key self.secret_key = secret_key def __call__(self, request): timestamp = str(int(time.time())) message = timestamp + request.method + request.path_url + (request.body or '') signature = hmac.new(self.secret_key, message, hashlib.sha256).hexdigest() request.headers.update({ 'CB-ACCESS-SIGN': signature, 'CB-ACCESS-TIMESTAMP': timestamp, 'CB-ACCESS-KEY': self.api_key, }) return request api_url = 'https://api.coinbase.com/v2/' auth = CoinbaseWalletAuth(API_KEY, API_SECRET) # Get current user r = requests.get(api_url + 'user', auth=auth) print r.json() # {u'data': {u'username': None, u'resource': u'user', u'name': u'User'... # Send funds tx = { 'type': 'send', 'to': 'user@example.com', 'amount': '10.0', 'currency': 'USD', } r = requests.post(api_url + 'accounts/primary/transactions', json=tx, auth=auth) print r.json() # {u'data': {u'status': u'pending', u'amount': {u'currency': u'BTC'...
Il mio test in php:
codice:$API_KEY = 'API_KEY'; $API_SECRET = 'API_SECRET'; $timestamp = time(); $message = $timestamp + 'POST' + 'my-url' + ''; $signature = hash_hmac('SHA256', $message, $API_SECRET); $headers = array( 'CB-ACCESS-SIGN: '.signature, 'CB-ACCESS-TIMESTAMP: '.timestamp, 'CB-ACCESS-KEY: '.api_key ); $api_url = 'https://api.coinbase.com/v2/'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, 1); $data = curl_exec($ch); if(curl_errno($ch)) { echo "Errore: " . curl_error($ch); } else { var_dump($data); curl_close($ch); }
Ho scritto codice procedurale senza classe per comodità.
Quanti errori ho fatto ??

Rispondi quotando