Plaid API php cURL не отправляет данные поста

php api curl plaid

589 просмотра

1 ответ

42 Репутация автора

Я пытаюсь перевести ниже CURL на php CURL:

$ curl -X POST https://tartan.plaid.com/exchange_token \

-d client_id = "$ plaid_client_id" \ -d secret = "$ plaid_secret" \ -d public_token = "$ public_token_from_plaid_link_module"

используя этот код:

    $data = array(
        "cliend_id"=>"test_id",
        "secret"=>"test_secret",
        "public_token"=>"test,fidelity,connected");
    $string = http_build_query($data);

    echo $string;

    //initialize session
    $ch=curl_init("https://tartan.plaid.com/exchange_token");

    //set options
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    //execute session
    $exchangeToken = curl_exec($ch);
    echo $exchangeToken;
    //close session
    curl_close($ch);

и я получаю этот ответ:

cliend_id = test_id & secret = test_secret & public_token = test% 2Cfidelity% 2Cconnected {"code": 1100, "message": "client_id missing", "resol": "Включите ваш идентификатор клиента, чтобы мы знали, кто вы." }

Я не уверен, что не так с моим форматом, который мешает распознавать часть сообщения client_id. Для дальнейшего ознакомления, у меня есть более подробно ниже.

Ниже взято с сайта плед, который можно найти с помощью поиска "быстрый запуск плед Api":


Ссылка / exchange_token Конечная точка

Конечная точка / exchange_token доступна как в тартане, так и в производственной среде. Метод Конечная точка Обязательные параметры Необязательные параметры POST / exchange_token client_id, secret, public_token account_id

Конечная точка / exchange_token уже интегрирована в клиентские библиотеки plaid-node, plaid-go, plaid-ruby и plaid-python. Поддержка плед-Java в ближайшее время.

Если вы работаете с библиотекой, которая еще не поддерживает конечную точку / exchange_token, вы можете просто сделать стандартный HTTP-запрос:

$ curl -X POST https://tartan.plaid.com/exchange_token \

-d client_id = "$ plaid_client_id" \ -d secret = "$ plaid_secret" \ -d public_token = "$ public_token_from_plaid_link_module"

Для правильного запроса API вернет ответ JSON, подобный следующему:

{"access_token": "foobar_plaid_access_token"}


Автор: Jepf Источник Размещён: 19.07.2016 12:11

Ответы (1)


2 плюса

1884 Репутация автора

Решение

Проблема в том, что вы отправляете, cliend_idно сервер ожидает client_id:

$data = array(
    "client_id"=>"test_id", // Use client_id instead of cliend_id
    "secret"=>"test_secret",
    "public_token"=>"test,fidelity,connected");
Автор: Vladimir Nul Размещён: 19.07.2016 12:25
Вопросы из категории :
32x32