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

如何在PHP环境的WordPress网站上自定义展示LinkedIn企业动态?

解决LinkedIn API获取企业动态并自定义展示的问题

看起来你在尝试用PHP LinkedIn SDK获取企业主页动态时遇到了无结果的问题,我来帮你一步步排查和修复:

1. 先纠正SDK初始化的参数错误

你代码里把api_key和api_secret搞反了!api_key对应的是你的Client ID,api_secret对应的是Client Secret Key,这是最容易踩的小坑,先改过来:

$li = new LinkedIn(array( 
    'api_key' => "你的Client ID", 
    'api_secret' => "你的Client Secret Key", 
    'callback_url' => "你的redirecturl" 
));

2. 替换废弃的API端点

你用的/v2/companies/...和旧的v1/companies/...端点都已经被LinkedIn废弃了,现在v2 API获取企业动态的正确端点是/v2/organizationalEntityShareFeed,需要使用你的企业主页组织ID(注意不是公司ID,你可以通过LinkedIn开发者工具或API查询到组织ID)。

3. 确认应用权限是否达标

获取企业动态需要申请r_organization_social权限,这个属于LinkedIn的受限权限,你需要在开发者后台提交权限申请并等待审核通过,否则API会返回权限不足的错误(只是你没打印错误信息所以看不到)。

4. 正确的代码示例

下面是调整后的可运行代码,包含错误调试和自定义HTML渲染逻辑:

// 初始化SDK(参数已修正)
$li = new LinkedIn(array( 
    'api_key' => "你的Client ID", 
    'api_secret' => "你的Client Secret Key", 
    'callback_url' => "你的redirecturl" 
));

// 设置访问令牌
$li->setAccessToken('你的Access Token');

// 检查初始化阶段是否有错误
if ($li->hasError()) {
    echo "初始化错误: " . $li->getError();
    exit;
}

// 调用v2 API获取企业动态,替换{ORGANIZATION_ID}为你的组织ID
try {
    $response = $li->fetch('GET', '/v2/organizationalEntityShareFeed?q=organizationalEntity&organizationalEntity=urn:li:organization:{ORGANIZATION_ID}&count=6');
    $feedData = json_decode($response, true);

    // 打印返回数据用于调试
    echo "<pre>";
    print_r($feedData);
    echo "</pre>";

    // 自定义HTML渲染动态内容
    if (!empty($feedData['elements'])) {
        echo "<div class='linkedin-feed' style='max-width: 800px; margin: 20px auto;'>";
        foreach ($feedData['elements'] as $post) {
            // 提取动态核心字段(根据实际返回结构调整)
            $postContent = $post['specificContent']['com.linkedin.ugc.ShareContent']['shareCommentary']['text'];
            $postTime = date('Y-m-d H:i:s', $post['created'] / 1000); // LinkedIn时间戳是毫秒级
            $authorName = $post['actor']['name']['localized']['en_US'];

            // 渲染自定义卡片式布局
            echo "<div class='linkedin-post' style='border: 1px solid #eee; border-radius: 8px; padding: 15px; margin-bottom: 15px;'>";
            echo "<h4 style='margin-top: 0; color: #0077b5;'>" . htmlspecialchars($authorName) . "</h4>";
            echo "<p class='post-time' style='color: #666; font-size: 14px;'>" . $postTime . "</p>";
            echo "<div class='post-content' style='margin-top: 10px; line-height: 1.6;'>" . htmlspecialchars($postContent) . "</div>";
            echo "</div>";
        }
        echo "</div>";
    }
} catch (Exception $e) {
    echo "API调用错误: " . $e->getMessage();
}

5. 实用调试技巧

  • 始终打印SDK的错误信息或捕获异常,能快速定位问题(比如权限不足、端点拼写错误)。
  • 可以先用Postman等工具测试API端点,确认能获取到数据后再用PHP代码实现,减少排查难度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 13:59:10