java - 使用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 将请求与上述标头一起发送。
下图显示了令牌和权限。
解决方案
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
推荐阅读
- typescript - Typescript 可扩展类型定义
- php - WooCommerce:仅限特定类别免费送货超过 500 英镑
- woocommerce - 在 WooCommerce 中的某个订单状态后自动执行“按钮按下”的操作
- bash - Bash/shell 脚本:带有 URL 的表达式中的 bash 语法错误
- scala - 如何从 Kafka 生产者中的外部 API 读取数据并将其发送给 Scala 中的 Kafka 消费者
- php - Ajax 将 WooCommerce 单一产品上的简单和可变产品添加到购物车
- javascript - 我找不到 `displayName` 的匹配 TypeScript 类型作为 `type` 的道具
- javascript - 是否可以在给 javascript 正则表达式中的前瞻表达式的模式中使用捕获组?
- sql - SQL Count Where on a specific date...但结果为 0
- python-3.x - 从excel vba中调用python脚本的问题