You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Medium API创建文章遇问题:代码无响应求助

解决Medium API创建文章无响应的问题

你的代码核心问题是POST数据格式不匹配:你设置了Content-Type: application/json,但直接将PHP数组传给CURLOPT_POSTFIELDS,curl会自动把数组编码为multipart/form-data格式,和API要求的JSON格式冲突,导致请求无法被正确解析。

修正后的代码

$token = '2baemytoken6234324';

$post = [
    'title' => 'teseee',
    'contentFormat' => 'html',
    'content' => 'eeee',
    // 可选:添加发布状态,比如设为"draft"或"public"
    // 'publishStatus' => 'draft'
];

$ch = curl_init('https://api.medium.com/v1/users/132434fafasfasf3434/posts');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
// 关键:将数组转为JSON字符串
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post));

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
   'Content-Type: application/json',
   'Accept: application/json',
   'Accept-Charset: utf-8',
   'Authorization: Bearer ' . $token
));

$data = curl_exec($ch);
// 添加错误检测,方便排查问题
if(curl_errno($ch)) {
    echo 'Curl错误:' . curl_error($ch);
}
$info = curl_getinfo($ch);
curl_close($ch);

// 打印响应和状态码,查看结果
var_dump($data);
var_dump($info['http_code']);

额外排查要点

  • 确认用户ID正确:用户ID需要通过Medium API的/v1/me接口获取,不能随便填写字符串
  • 检查token权限:确保你的Bearer Token拥有创建文章的权限(申请token时需包含publish_posts权限)
  • 查看HTTP状态码:通过$info['http_code']可以获取响应状态码,比如401代表权限错误,404代表用户ID不存在

内容的提问来源于stack exchange,提问作者cpcdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 16:03:20