0

我正在尝试将以下 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", "resolve": "包括您的客户 ID,以便我们知道您是谁。" }

我不确定我的格式有什么问题,导致格子无法识别帖子的 client_id 部分。为了进一步参考,我在下面有更多详细信息。

以下摘自可以通过搜索“plaid api quickstart”找到的 plaid 网站:


参考 /exchange_token 端点

/exchange_token 端点在 tartan 和生产环境中都可用。方法端点 必需参数 可选参数 POST /exchange_token client_id, secret, public_token account_id

/exchange_token 端点已经集成到 plaid-node、plaid-go、plaid-ruby 和 plaid-python 客户端库中。对 plaid-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”}


4

1 回答 1

2

问题是您正在发送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");
于 2016-07-19T00:25:45.903 回答