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

求助:LinkedIn API V2发送消息报403,求Python示例及文档

LinkedIn API 发送消息:403错误排查与Python示例

403错误常见原因

  • 权限缺失:必须申请w_member_social权限,且应用需通过LinkedIn审核。个人开发者账号需在测试模式下使用预先配置的测试用户。
  • 自身消息限制:LinkedIn API禁止向自己发送消息,测试时需指定其他有效用户。
  • 代码问题:请求头不完整、access_token无效或API端点调用错误都可能导致403。

Python示例代码

import requests

def send_linkedin_message(access_token, recipient_urn, message_text):
    # 消息发送API端点
    api_url = "https://api.linkedin.com/v2/conversations"
    
    # 构建请求头,必须包含授权信息和协议版本
    request_headers = {
        "Authorization": f"Bearer {access_token}",
        "Content-Type": "application/json",
        "X-Restli-Protocol-Version": "2.0.0"
    }
    
    # 消息 payload,recipients 需传入用户的URN格式
    message_payload = {
        "recipients": [recipient_urn],
        "subject": "测试消息",
        "body": message_text,
        "attachments": []
    }
    
    # 发送POST请求
    response = requests.post(api_url, json=message_payload, headers=request_headers)
    # 打印响应便于排查问题
    print(f"响应状态码: {response.status_code}")
    print(f"响应内容: {response.json()}")
    return response

# 使用前替换为你的有效信息
if __name__ == "__main__":
    # 从OAuth2授权流程获取的有效access_token
    my_access_token = "YOUR_VALID_ACCESS_TOKEN"
    # 接收者的URN,格式为 urn:li:person:XXX
    target_recipient_urn = "urn:li:person:RECEIPIENT_PERSON_ID"
    send_linkedin_message(my_access_token, target_recipient_urn, "通过LinkedIn API发送的测试消息")

关键注意事项

  • 验证access_token权限:调用https://api.linkedin.com/v2/me查看权限列表,确认包含w_member_social。
  • 测试模式限制:测试用户需提前在LinkedIn开发者后台添加,所有消息交互只能在测试用户之间进行。
  • 接收者URN获取:可通过https://api.linkedin.com/v2/people/id={USER_ID}接口获取目标用户的URN。

内容的提问来源于stack exchange,提问作者Sven WebDev Munich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:40:31