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

LinkedIn Posts API含括号时文本截断问题求助

解决LinkedIn API发布内容含左括号(时文本被截断的问题

问题复现

调用LinkedIn的posts接口发布内容时,只要文本里包含左括号(,括号及之后的内容会被截断。尝试URL编码会保留转义字符,直接用\(转义会触发API格式错误,手动拼接JSON也报错。

解决方案

核心是按照LinkedIn的规则正确转义括号,同时保证JSON格式合法:

  1. 双重转义括号
    LinkedIn要求左括号(转义为\(,但在JSON字符串中,反斜杠本身需要转义,所以要写成\\(,右括号同理写成\\)。修改后的请求体示例:
{
  "author": "urn:li:person:你的用户URN",
  "commentary": "a line\n\nanother line...\n\n\nThis gets posted \\(it will NOT get cut off from here\\)\nanother line\n",
  "visibility": "PUBLIC",
  "distribution": {
    "feedDistribution": "MAIN_FEED",
    "targetEntities": [],
    "thirdPartyDistributionChannels": []
  }
}
  1. 批量转义处理
    用字符串替换工具自动处理所有括号,避免手动修改出错。比如JavaScript中可以这么写:
const rawText = `a line

another line...


This gets posted (it will get cut off from here)
another line`;

// 全局替换左右括号为转义后的格式
const escapedText = rawText.replace(/([()])/g, '\\$1');

const requestBody = {
  author: "urn:li:person:你的用户URN",
  commentary: escapedText,
  visibility: "PUBLIC",
  distribution: {
    feedDistribution: "MAIN_FEED",
    targetEntities: [],
    thirdPartyDistributionChannels: []
  }
};

// 发送请求时确保Content-Type为application/json
// 用axios的话直接传requestBody即可,它会自动处理JSON序列化
  1. 排查请求格式问题
    之前用JSON.stringify报错,大概率是字段缺失或格式不完整(比如author必须是合法的URN,visibility等必填字段不能少),和转义无关。确保所有必填字段都正确填写后再序列化发送。

为什么之前的方法无效?

  • URL编码不适用:LinkedIn的commentary字段接受纯文本(支持换行),而非URL编码后的内容,所以编码后会保留%20这类转义字符,同时()本身不会被encodeURI转义,依然触发截断。
  • 单转义\(无效:在JSON字符串中,单个反斜杠会被解析器当作转义符,实际传给API的还是原始的(,没起到转义作用;写成\\(后,解析器会把它转为\(,符合LinkedIn的规则,不会截断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:35:34