如何开发PHP应用通过LinkedIn API发送消息并解决授权问题?
开发PHP应用实现LinkedIn消息发送的问题
我正在开发一个PHP应用,目标是给LinkedIn用户发送消息。目前我有账号的用户名、密码,以及目标用户ID:ACoAAD-VT8sBOkDLIxA0177uoxeP081m1Mvt29c。如果有其他语言实现类似功能的经验,也欢迎分享。
我找到了LinkedIn的相关消息发送接口:
POST https://www.linkedin.com/voyager/api/voyagerMessagingDashMessengerMessages?action=createMessage
请求体示例:
{ "message": { "body": { "attributes": [], "text": "р" }, "renderContentUnions": [], "conversationUrn": "urn:li:msg_conversation:(urn:li:fsd_profile:ACoAAD-VT8sBOkDLIxA0177uoxeP081m1Mvt29c,2-OWQyYWVlNTgtM2VjNy00NWY5LWJhYWQtYjRhODY3ZDU0NmVhXzAxMw==)", "originToken": "1afad75e-ed34-4dd7-a7ce-fd4999937da7" }, "mailboxUrn": "urn:li:fsd_profile:ACoAAD-VT8sBOkDLIxA0177uoxeP081m1Mvt29c", "trackingId": "ú×^í4M×§ÎýI}§", "dedupeByClientGeneratedToken": false }
现在的核心问题是不知道如何通过LinkedIn的授权验证,完成接口调用。
解决思路与注意事项
- 绝对不要尝试"绕过"授权:LinkedIn的所有接口都有严格的身份校验机制,绕过授权属于违规操作,直接违反LinkedIn服务条款,大概率会导致账号被永久封禁。合法操作必须走官方授权流程。
- 优先使用LinkedIn官方API:
- 注册LinkedIn开发者账号,创建应用并获取
Client ID和Client Secret。 - 实现OAuth2.0授权流程,获取带有
w_member_social权限的访问令牌(Access Token)——这是发送消息的必要权限。 - 使用官方公开的消息API(
https://api.linkedin.com/v2/conversations)构造请求,按照文档要求传递参数即可完成消息发送。
- 注册LinkedIn开发者账号,创建应用并获取
- 非官方Voyager接口的风险:你找到的是LinkedIn内部使用的Voyager接口,这类接口没有公开文档,参数(比如
conversationUrn、originToken)会不定期更新,且需要携带登录后的会话Cookie、CSRF令牌等多个验证字段。即便模拟浏览器登录拿到这些参数,也很容易被LinkedIn的反爬系统检测到,导致账号受限。 - 其他语言实现参考:不管用Python、Node.js还是Java,核心逻辑都是二选一:要么走官方OAuth授权(推荐),要么模拟浏览器会话登录(不推荐)。比如Python可以用
requests库模拟登录流程,捕获会话Cookie和请求头,但同样要承担账号被封的风险。
内容的提问来源于stack exchange,提问作者Vadim Bobrov
相关产品推荐
相关产品推荐

