php - 与 PayPal 连接:获取状态 400(错误请求)
问题描述
在基于访问代码获取访问令牌期间,我面临来自 PayPal 的 400 错误请求响应。我通过以下参考链接https://developer.paypal.com/docs/connect-with-paypal/integrate/#1-create-the-app
我完美地遵循了 5 个步骤,但遇到了步骤号的问题。6.见下面我的代码:
请求部分:
$curl = curl_init();
$base_token = "{client_id:secret}";
$data = array(
CURLOPT_URL => "https://api.sandbox.paypal.com/v1/oauth2/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => array(
'grant_type' => 'authorization_code',
'code' => '{authorization_code}'
),
CURLOPT_HTTPHEADER => array(
"Authorization: Basic ".$base_token,
),
);
curl_setopt_array($curl,$data );
$response = curl_exec($curl);
curl_close($curl);
回应部分:
stdClass Object (
[name] => Bad Request
[debug_id] => 5837077aa8787
[message] => java.lang.IllegalArgumentException
[details] => Array
(
)
)
解决方案
将数组传递给 CURLOPT_POSTFIELDS 会将内容类型设置为multipart/form-data
. 这是错误的。
您需要将查询字符串传递给 CURLOPT_POSTFIELDS。
CURLOPT_POSTFIELDS => http_build_query(array(
'grant_type' => 'authorization_code',
'code' => '{authorization_code}'
)),
推荐阅读
- javascript - 将类别树解析为 HTML 选择标签
- javascript - 如何选择所有复选框但取消选择特定复选框?
- ksqldb - KSQL 无法从主题创建流
- javascript - 作用域变量的实现如何在 *ngFor 中工作
- firebase - 如何验证 Angular 6 中 Firebase 数据库中已存在的任何项目条目
- javascript - if 语句的问题
- c# - 从json控制器结果ajax获取多个字符串
- sql - SQL:脏读能保证看到最新的数据吗?
- c# - 我目前正在检索图像的路径,如何检索图像本身?
- database - 在 Laravel 中,有没有办法找到 db 表中的总列数?