php - 了解api curl指令
问题描述
卡住试图让 api 连接工作。我相信我不理解 api 中的以下示例请求。特别是最后一行“grant_type..etc”。在 CURL 中如何处理这条线?作为后场?得到一个错误 {"error":"unsupported_grant_type"}
POST /connect/token HTTP/1.1
Authorization: Basic base64(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
"grant_type=authorization_code&code=<authorization_code>&redirect_uri=<redirect_uri>"
到目前为止的代码:
$ch = curl_init('https://xxxx');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-type: application/x-www-form-urlencoded;charset=UTF-8',
'Authorization: Basic '.base64_encode($clientid.':'.$clientsecret).''
));
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'code' => $_GET['code'],
'redirect_uri' => $redirecturi,
'grant_type' => 'authorization_code'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
解决方案
推荐阅读
- bash - 带有变量 \n 复杂性的 sed
- python - 创建数组矩阵
- node.js - node.js 服务器无法正确加载
- android - FirebaseMessagingService 非法访问
- java - 覆盖 toString() 会导致与覆盖普通方法不同的行为吗?
- stream - 使用 VLC 检查 RPI 上的 rtsp 流
- kubernetes - 如何在 docker swarm 上运行 kubernetes?
- c++ - 使用引用而不是重载运算符
- c# - 如何在 linq DateTime 中正确设置变量?
- adobe - 如何正确表示/缩放从 Adobe XD 到 aframe 的坐标?