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

LinkedIn API创建带提及UGC帖子时含表情/重音字符报share commentary invalid错误

问题原因

你遇到的报错本质是提及属性的位置计数规则不匹配LinkedIn API要求:
启用提及功能时,shareCommentary.attributes参数中的start(提及起始位置)和length(提及内容长度)必须严格按照UTF-16代码单元计数,而你当前使用的是普通字符串长度(单字节长度/Unicode码点长度)计数规则。
带重音的特殊字符、大部分表情符号都会占用2个及以上UTF-16代码单元,会导致你计算的起始位置、长度和实际文本不匹配,API校验不通过就返回share commentary is invalid错误;没有特殊字符时两种计数规则结果一致,所以可以发布成功。未启用提及功能时API不需要校验位置参数,所以所有内容都可以正常发布。
比如你示例请求里的文本Hellóó Stackoverflow,Stackoverflow的首字母实际对应的UTF-16起始位置是9,你填的8就是偏移错误,直接导致校验失败。

解决方法

  1. 替换所有提及相关的位置、长度计算逻辑,统一使用UTF-16代码单元作为计数单位,不同开发语言的实现参考:
  • PHP:将字符串转为UTF-16编码后计算长度/位置,或使用mb_strlen($text, 'UTF-16LE')相关方法计算
  • JavaScript:直接使用字符串原生length属性即可,JS默认按UTF-16代码单元计数
  • Python:通过len(待计算字符串.encode('utf-16-le')) // 2计算对应位置的UTF-16单元数
  1. 提交请求前额外做范围校验,确保start + length不超过文本总UTF-16单元长度,避免出现越界错误
  2. 用你之前发布失败的两个案例重新计算位置后测试,确认可正常发布即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:39:04