Android LinkedIn SDK 产生无法使用的访问 token

标签 android sdk linkedin

我想要完成的事情:

  • 通过 LinkedIn 的 Android SDK 进行身份验证
  • 获取用户的个人资料以获得他们的 userId
  • 根据我们的内部服务创建新用户

到目前为止,我已经能够通过 LinkedIn 进行身份验证,检索访问 token ,并针对 LinkedIn 的服务使用它来获取他们的用户 ID。

流程看起来有点像这样

LISessionManager.getInstance(activity).init(this.activity.get(), permissionScope,
            authLinkedInCallback, showDialogIfAppMissing);

返回我的应用程序后,我使用下面的代码捕获 Intent 数据

LISessionManager.getInstance(activity).onActivityResult(activity, requestCode, resultCode, data);

这部分似乎是功能性的,并从 LISessionManager 初始化中的 AuthListener 设置产生一个 onAuthSuccess

发布成功我可以使用提供的访问 token 和提供的APIHelper来获取用户的基本资料

String built = "https://api.linkedin.com/v1/people/~?format=json";
APIHelper.getInstance(activity.get()).getRequest(activity.get(), built, getProfileCallback);

这实际上成功返回了基本的用户个人资料信息。

这就是问题所在 我只能使用此访问 token 通过 APIHelper 进行调用。当尝试在其他地方(服务器端,在 Postman/Apigee 中测试)使用提供的访问 token 时,它总是返回此响应。

{ 
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "M9J2NBQV9J",
"status": 401,
"timestamp": 1430922872474 
}

我一直在使用 LinkedIn 资源调试 401 问题 (https://developer.linkedin.com/docs/oauth2) 使用 LISessionManager。评估当前 session 告诉我访问 token 是

  • 仍然有效
  • 还没有过期
  • 自发行之日起约 2 个月内仍然有效。

查看我的 LinkedIn 个人资料,它没有撤销对应用程序的访问权限,权限范围是 basic_profile、email_address 和 w_share

我真的很困惑为什么这些生成的 accessTokens 在 LinkedIn SDK 之外似乎无效,它们在整个服务中都无效吗?

感谢任何帮助。

最佳答案

如 LinkedIn 的 Android SDK 身份验证文档 ( https://developer.linkedin.com/docs/android-sdk-auth ) 所述,

Mobile vs. server-side access tokens

It is important to note that access tokens that are acquired via the Mobile SDK are only useable with the Mobile SDK, and cannot be used to make server-side REST API calls.

Similarly, access tokens that you already have stored from your users that authenticated using a server-side REST API call will not work with the Mobile SDK.

关于Android LinkedIn SDK 产生无法使用的访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080583/

相关文章:

python - 如何在 python 中使用 linkedin API

android - 迁移到 Gradle Plugin 3.0,aapt2 构建错误

android - 更改 EditText 中的输入会更新 ScrollView 中的错误 EditText

ios - 无法验证下载服务器。您可能正在遭受中间人攻击

linkedin - Haste 模块映射中不存在模块 'react'

java - 使用 JSoup 登录 Linkedin

安卓;检查文件是否存在而不创建新文件

android - Android 5 缺少操作栏应用程序图标

更新后 Android Studio SDK 版本错误

php - 尝试使用 aws php sdk 时未检索到客户端凭据