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

如何使用PHP通过LinkedIn API对已有帖子发表评论?

解决LinkedIn API发布评论的404错误

你的代码存在几个关键问题,导致出现"Resource comments does not exist"的404错误,以下是修正方案:

1. 修正API请求端点

LinkedIn v2 API发布评论时,必须在URL中指定评论发布者的actor参数(即当前用户的Person URN),正确的端点格式为:

https://api.linkedin.com/v2/comments?actor=urn:li:person:<YOUR_PERSON_URN>

你需要将<YOUR_PERSON_URN>替换为当前授权用户的Person URN,可通过调用https://api.linkedin.com/v2/me接口获取。

2. 修正Content-Type请求头

发送JSON格式的请求体时,Content-Type必须设置为application/json,而非text/plain,否则API无法正确解析请求数据。

3. 确保权限正确

你的OAuth访问令牌必须包含w_member_social权限,这是发布评论的必要权限,需在OAuth授权流程中明确请求该权限。

修正后的PHP代码示例

$curl = curl_init();
// 替换为你的Person URN和帖子ID
$personUrn = "urn:li:person:你的用户URN";
$postId = "123113456965144456";

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.linkedin.com/v2/comments?actor={$personUrn}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode(array(
    "objectUrn" => "urn:li:activity:{$postId}",
    "message" => array(
      "text" => "This is great."
    )
  )),
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer ' . $token,
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;

额外验证点

  • 确认帖子的objectUrn格式正确:从链接https://www.linkedin.com/posts/activity-123113456965144456-_3RW中提取的ID是123113456965144456,对应的URNurn:li:activity:123113456965144456是正确的。
  • 确保访问令牌未过期,且属于有权限操作该帖子的用户(比如帖子公开可见,或你是帖子发布者的连接)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:42:43