如何解决LinkedIn OAuth 2.0 API的REVOKED_ACCESS_TOKEN错误?
解决LinkedIn API调用返回REVOKED_ACCESS_TOKEN错误的问题
我使用LinkedIn OAuth 2.0 API的
/rest/posts接口获取企业账号帖子,能成功生成access_token和refresh_token(返回数据如下),但调用接口时始终返回REVOKED_ACCESS_TOKEN错误。已尝试清除浏览器Cookie、更换Firefox/Chrome浏览器,代码未做任何修改,也不存在API限流情况。
生成的Token返回数据
{ access_token: "TOKENVALUE", expires_in: 5183999, refresh_token: "RefreshToken", refresh_token_expires_in: 31536059, scope: "r_organization_social,r_organization_social_feed" }
错误返回信息
{ code: "REVOKED_ACCESS_TOKEN", message : "The token used in the request has been revoked by the user", serviceErrorCode :65601, status : 401 }
服务端调用代码
def show_linkedin_posts(request,companyid,access_token): API_ENDPOINT = "https://api.linkedin.com/rest/posts?author=urn%3Ali%3Aorganization%3A"+companyid+"&q=author&count=3&sortBy=LAST_MODIFIED" headers = { 'Authorization': 'Bearer ' + access_token, 'X-Restli-Protocol-Version':'2.0.0', "LinkedIn-Version":"202309" } api_response = requests.get(API_ENDPOINT, headers=headers) user_data = api_response.json() return JsonResponse(user_data,status=200)
排查与解决步骤
检查应用授权状态
登录LinkedIn开发者后台,确认你的应用是否被禁用;同时让企业账号管理员检查LinkedIn账号的「已授权应用」列表,看是否手动撤销了该应用的访问权限。即使能生成token,权限被撤销后token会直接失效。刷新access_token重试
用已获取的refresh_token调用刷新接口,获取新的access_token后再尝试请求:def refresh_linkedin_token(refresh_token, client_id, client_secret): token_url = "https://www.linkedin.com/oauth/v2/accessToken" data = { "grant_type": "refresh_token", "refresh_token": refresh_token, "client_id": client_id, "client_secret": client_secret } response = requests.post(token_url, data=data) return response.json()如果刷新失败,说明refresh_token也已失效,需要重新引导企业管理员完成完整的OAuth授权流程。
验证scope权限匹配度
核对LinkedIn官方文档中/rest/posts接口的权限要求,确认当前申请的r_organization_social,r_organization_social_feed是否覆盖了接口所需权限,若存在缺失,需重新授权并申请正确的scope。检查token传递完整性
在服务端代码中添加日志,打印传入的access_token完整值,确认没有出现截断、空格或编码错误,确保传递的token与生成的完全一致。
内容的提问来源于stack exchange,提问作者Murtuza Husain
相关产品推荐
相关产品推荐

