求助: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
相关产品推荐
相关产品推荐

