把 LinkedIn 连接到 Social Quack
在 LinkedIn 的开发者后台里花几分钟,只做这一次 —— 之后帖子就会自己发出去,只是每 60 天要再快速登录一次(第 7 步)。
LinkedIn 只允许软件通过开发者应用代您发帖:那是您在自己的 LinkedIn 账号里创建的一个小条目,它会给出两个值 —— 一个 Client ID 和一个 Client Secret。您把这两个值粘贴进 Social Quack 一次,此后再也不用惦记它们。没有申请表要填,也没有审核要等 —— 您需要的那两个 product 是即时开通的。
动手之前有两件事值得知道:
- 密钥只留在您的 Mac 上。 Social Quack 会把它们加密保存在您电脑上它自己的数据文件夹里,绝不会发给我们。
- 额度只属于您一个人。 因为开发者应用是您自己的,LinkedIn 把您的发布量记在您的应用头上,而不是别人的。您不会和其他 Social Quack 用户共用一个池子,所以别人的行为连累不到您被限流或封禁。
这里连接的是您的个人 LinkedIn 主页 —— 帖子以您本人的名义出现。
下面的操作发生在两个地方:linkedin.com 的开发者网站,以及 Social Quack 里的 Channels(渠道,在侧边栏)→ LinkedIn 卡片 → Set up app keys(设置应用密钥)。现在就把那个面板打开并一直开着;第 4 步要用到里面的一个值。
1. 先准备好一个 LinkedIn Page
每个 LinkedIn 开发者应用都必须挂在一个 LinkedIn Page 下面 —— 是企业/组织那种主页,不是您的个人主页。如果您已经有一个公司的或自由职业名号的主页,用它就行。要是没有,随手建一个小的;简单到就用您自己的名字都可以。
这个 Page 的存在只是为了持有这个应用。您的帖子照样从个人主页发出。
2. 创建应用
前往 https://www.linkedin.com/developers/apps,用您平时的 LinkedIn 账号登录。新建一个应用,挂上第 1 步那个 Page,再上传一个 logo —— 任何正方形图片都行。
新应用一开始是 unverified(未验证)状态,而未验证的应用无法添加第 3 步要用的 product。解决它只要一分钟:打开应用的 Settings 标签页,点 Page 旁边的 Verify,再点 Generate URL。这个链接会请求该 Page 的超级管理员批准这个应用 —— 如果 Page 是您自己建的,那这个人就是您,所以打开链接、点批准,应用当场就验证通过了。如果 Page 属于同事,就把链接发给他;链接 30 天内有效。
3. 添加两个 product
打开应用的 Products 标签页,把这两个都加上:
| Product | 它为您做什么 |
|---|---|
| Share on LinkedIn | 发帖的权限。没有它,连接会失败 —— 见出问题时怎么办。 |
| Sign In with LinkedIn using OpenID Connect | 让 Social Quack 读取您的姓名和头像,好让渠道卡片显示出它在以谁的身份发帖。 |
两个都是即时生效的 —— 不审核,也不用等。
这两者合起来,正好覆盖 Social Quack 在 LinkedIn 登录页上申请的三项权限:openid、profile 和 w_member_social(最后这项就是"代您发帖")。它只申请这三项,没有别的。
4. 添加回调地址
在应用里进入 Auth → OAuth 2.0 settings,把 Social Quack 的回调地址添加为授权的 redirect URL。
确切的值显示在应用里,就在同一个 Set up app keys 面板中,旁边有复制按钮。本页面没法把它印出来:它是您这台机器专属的(里面带着 Social Quack 正在监听的端口号)。请从那里复制,然后原样粘贴 —— LinkedIn 会逐字符比对,所以别手敲,也别自作主张修整它。
5. 粘贴密钥并连接
LinkedIn 的后台会显示您的 Client ID 和 Primary Client Secret。在 Social Quack 的 Set up app keys 面板里,把它们粘贴到:
Client IDClient Secret—— 也就是 LinkedIn 说的 Primary Client Secret;同一个东西,名字短一点。
点 Save(保存),Social Quack 会径直进入登录环节:浏览器里会打开 LinkedIn 的授权页面。同意授权,您的主页就会出现在 Connected(已连接)下面。没有别的要输入的了 —— 剩下的事 LinkedIn 在浏览器里替您办完。如果您不小心关掉了那个标签页,点 LinkedIn 卡片上的 Connect(连接)重新开始登录。
6. 一条 LinkedIn 帖子能装下什么
| 文字 | 最多 3,000 个字符 |
| 图片 | 每条最多 9 张 |
| 视频 | 不支持。附在 LinkedIn 帖子上的视频会被悄悄略过 —— 文字和图片照常发出,也不会报错 |
| 多段帖子 | 第一段是正文;之后的每一段都以您的名义按顺序作为评论补上 |
有两种表现,弄懂原因之前看着挺怪:
- 标点照常打。 LinkedIn 的发帖格式把
( ) [ ] { } @ # < > ~ _ | *这类字符当作特殊符号,直接使用会被它拒收。Social Quack 会在发送前替您处理好,所以括号、井号和 @ 都可以放心打。 - 带图片的帖子会晚约 20 秒发出。 LinkedIn 需要一点时间处理上传的图片,而个人账号没有权限去查询处理完了没有 —— 所以 Social Quack 宁可先等大约 20 秒再发布,也不冒失败的风险。这是正常的,不是故障。
如果 LinkedIn 正忙或者对您限流,Social Quack 会当作临时状况自动重试,而不是直接判这条帖子失败。
7. 每 60 天重新连接一次
一次 LinkedIn 连接可以维持 60 天。LinkedIn 只给通过审核的合作企业发放可自动续期的访问权限,所以 60 天到了就得手动重连:Channels → Add a channel(添加渠道)下的 LinkedIn 卡片 → Connect,同意授权页面,完事 —— 几秒钟的事。
在已有连接之上再登录一次,只会更新它,队列里排好的一切都原样保留。千万别为了解决连接问题去点渠道上的 Remove(移除)—— 那会把渠道连同等着发的所有帖子一起删掉。
在 60 天到期前一周,Social Quack 会在 Channels 和 Queue 页面显示一条提示 —— sign in again by <日期> —— 并附带 Sign in again 按钮,LinkedIn 卡片上也会有同样的标注。点一下,在 LinkedIn 的授权页面上同意,完事:连接原地续上,排好的一切都原样保留。如果您置之不理,第一个征兆就是某条帖子失败并显示 LinkedIn token expired — reconnect this channel in Social Quack → Channels;重新登录,然后把那条帖子重新排期。Claude 和 ChatGPT 也能看到同一条提示,所以它们也会提醒您。
出问题时怎么办
| 您看到的情况 | 这说明什么 | 该怎么做 |
|---|---|---|
| "LinkedIn did not grant w_member_social. Add the Share on LinkedIn product to your app." | 应用没有发帖权限,或者是在您连接之后才加上的 | Products 标签页 → 添加 Share on LinkedIn → 回到 Social Quack 再点一次 Connect |
| 点了 Save(或 Connect)之后,LinkedIn 的登录页不肯继续 | Auth → OAuth 2.0 settings 里的 redirect URL 和 Social Quack 用的那个对不上 | 从 Set up app keys 里重新复制一遍并原样粘贴 —— 不改动,不多字符 |
| "LinkedIn token expired — reconnect this channel in Social Quack → Channels" | 60 天到期了 | Channels → LinkedIn → Connect |
| "LinkedIn token rejected — reconnect this channel in Social Quack → Channels" | LinkedIn 不再认这个连接了(被撤销,或者应用的密钥变了) | Channels → LinkedIn → Connect |
| 帖子发出去了,但您附的视频不在上面 | 从 Social Quack 发出的 LinkedIn 帖子只带图片 | 附一张静态图,把视频链接放进正文,或者把视频发到支持视频的平台 |
| 您根本建不了这个开发者应用 | 没有 Page 可挂,LinkedIn 就不让您创建 | 先建一个 LinkedIn Page(第 1 步),再试一次 |
| Products 标签页不让您添加 Share on LinkedIn | 这个应用还没验证 | Settings 标签页 → Page 旁边的 Verify → Generate URL → 打开那个链接并批准(第 2 步) |
| 帖子失败,提示 LinkedIn 没有返回 post id | 少见:LinkedIn 收下了帖子,却没告诉我们是哪一条 | 重新排期之前先去看看您的 LinkedIn 主页 —— 那条帖子可能已经在了,再发一次就会发重 |
还是不行?[email protected]。