首页 > 解决方案 > 使用spring boot在linkedin中实现自动发布

问题描述

我正在使用spring boot和oauth2在linkedin中实现自动发布功能。我已经在linkedin 中创建了应用程序,它请求的权限是r_liteprofile、w_member_social。我能够获取 access_token 但是当我将 POST 请求连同令牌一起发送到https://api.linkedin.com/v2/ugcPosts时,服务器响应 403 Forbidden 状态。我究竟做错了什么?我们是否需要比 r_liteprofile、w_member_social 更多的权限才能在linkedin 中发帖?

    TokenResponse tokenResponse = gson.fromJson(token, TokenResponse.class);
    String post_url = "https://api.linkedin.com/v2/ugcPosts";
    HttpPost wallPost = new HttpPost(post_url);
    ArrayList mediaList = new ArrayList();
    wallPost.setHeader("Content-Type","application/json");
    wallPost.setHeader("Authorization","Bearer "+tokenResponse.getAccess_token());
    wallPost.setHeader("X-RestLi-Protocol-Version","2.0.0");

我已经使用 HttpClient 将请求与上述标头一起发送。

下图显示了令牌和权限。

标签: javaspring-bootoauth-2.0linkedinlinkedin-api

解决方案


OAuth 令牌没有任何问题,就好像响应是 401 ( https://developer.linkedin.com/docs/v2/oauth2-client-credentials-flow )

我认为您需要将“w_share”范围添加到您的应用程序中。当前范围现在允许向 LinkedIn 发布更新。在此处查看详细信息:https ://docs.microsoft.com/en-us/linkedin/shared/references/migrations/default-scopes-migration


推荐阅读