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

Python调用LinkedIn API批量获取帖子分享统计数据的问题排查

方案选型建议
  • 优先选择一次性批量传入所有ID的方案:LinkedIn API有严格的请求速率限制,批量查询多个帖子仅消耗1次请求配额,远优于遍历单条查询的方案,执行效率也更高。
  • 若你的ID列表长度超过接口单批次上限(该接口通常单批支持最多100个UGC Post URN),可以将列表拆分为多个小批次,按批次批量请求即可,仍不需要单条遍历。
现有代码的核心问题

你运行后没有任何输出,是因为存在多个基础语法和逻辑错误:

  1. 缩进错误导致主逻辑完全不执行
    if __name__ == '__main__' 块被错误缩进写在了share_stats函数内部,且位于return语句之后,程序启动时不会执行该段的任何逻辑,自然没有输出。
  2. URN拼接格式错误
    拼接URN时多了多余的&符号,生成的参数格式完全不符合LinkedIn API要求,就算请求发出去也会返回参数错误。
  3. 不必要的eval调用,存在安全和格式风险
    eval 完全不需要使用,且headers是字典对象,转为字符串放入eval解析大概率会出现格式错误,导致请求无法正常发起。
  4. 参数传递缺失
    share_stats 函数定义要求传入headers和shids两个参数,你调用时仅传入了headers,就算执行也会直接报参数缺失错误。
  5. 全局变量缩进错误
    link 变量定义前有多余缩进,会被判定为局部未定义变量,运行时会抛NameError。
修正后的可运行代码
import requests

# 固定接口前缀
BASE_URL = "https://api.linkedin.com/v2/organizationalEntityShareStatistics?q=organizationalEntity&organizationalEntity=urn%3Ali%3Aorganization%3A77487"

def share_stats(headers, shids):
    # 批量拼接符合要求的URN列表
    urn_list = [f"urn%3Ali%3AugcPost%3A{shid}" for shid in shids]
    ugc_posts_param = f"&ugcPosts=List({','.join(urn_list)})"
    # 拼接完整请求URL
    request_url = BASE_URL + ugc_posts_param
    # 发起请求,增加错误处理方便排查问题
    response = requests.get(request_url, headers=headers)
    # 请求失败时主动抛出异常
    response.raise_for_status()
    return response.json()

if __name__ == '__main__':
    # 这里替换为你自己的帖子ID列表
    shids = ["你的帖子ID1", "你的帖子ID2", "你的帖子IDx"]
    credentials = 'credentials.json'
    access_token = auth(credentials) # 你的鉴权逻辑保持不变
    headers = headers(access_token) # 你的请求头生成逻辑保持不变
    # 调用函数获取统计数据
    stats_result = share_stats(headers, shids)
    print(stats_result)
    # 如果需要保存到JSON文件,可以加以下代码
    # import json
    # with open("linkedin_share_stats.json", "w", encoding="utf-8") as f:
    #     json.dump(stats_result, f, ensure_ascii=False, indent=2)
补充说明

如果你的ID数量超过接口单批次上限,可以将shids列表拆分为多个长度为50-100的子列表,遍历子列表批量请求,再将所有返回结果合并即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:18:02