PHP Coinbase, как начать использовать этот API, используя язык PHP? - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь использовать PHP Coinbase API.У меня уже есть ключ API и ключ OAuth.Я уже настроил свой веб-сервер.Кроме того, я уже загрузил библиотеку на GitHub, но все еще не могу заставить ее работать.

Каждый раз, когда я использую этот код, он возвращает:

string (213) "{" error ": "invalid_grant", "error_description": "Предоставленный грант авторизации недействителен, просрочен, отозван, не соответствует URI перенаправления, использованному в запросе авторизации, или выдан другому клиенту."} "

Соответствующий код

$post = [
    'grant_type' => 'authorization_code',
    'code' => 'xxxxxx',
    'client_id'   => 'xxxxx',
    'client_secret'   => 'xxxx',
    'redirect_uri' => 'https://sample/mybots/blockchain',
];

$ch = curl_init('https://api.coinbase.com/oauth/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

// execute!
$response = curl_exec($ch);

// close the connection, release resources used
curl_close($ch);

// do anything you want with your response
var_dump($response)

1 Ответ

0 голосов
/ 20 сентября 2018

Первое, что вы должны сделать, это перейти к конечной точке аутентификации и получить код авторизации, после чего вы отправляете его обратно и получаете ответный токен в качестве ответа.

Как правило, запрос должен выглядеть следующим образомэто:

   response_type
         REQUIRED.  Value MUST be set to "code".

   client_id
         REQUIRED.  The client identifier as described in Section 2.2.

   redirect_uri
         OPTIONAL.  As described in Section 3.1.2.  

   scope
         OPTIONAL.  The scope of the access request as described by
         Section 3.3.

   state
         RECOMMENDED.  An opaque value used by the client to maintain
         state between the request and callback.  The authorization
         server includes this value when redirecting the user-agent back
         to the client.  The parameter SHOULD be used for preventing
         cross-site request forgery as described in Section 10.12.

Что вы можете увидеть здесь https://tools.ietf.org/html/rfc6749#section-4.1.1

И действительно, в документах Coinbase https://developers.coinbase.com/docs/wallet/coinbase-connect/integrating

Вы пропустили этот шаг, и выПопытка начать с шага 3 в документах для coinbase!

Убедитесь, что клиент настроен правильно и на coinbase.и что URL перенаправления соответствует точно.

...