1

LinkedIn文档说:

虽然为 JSAPI 验证用户的最简单方法是使用其中一个登录按钮,但一些站点已经实现了 REST API 使用的 OAuth 1.0a 流程。无论您对用户使用哪种类型的身份验证,只要密钥和主机名相同,JSAPI 就会识别出该成员已经登录。这会自动发生,开发人员不需要额外的代码。

它提到了 Oauth1,然后说“您使用哪种类型的身份验证 (...)”。

我想通过 Oauth2 对用户进行身份验证,然后进行 JSAPI 调用(要求用户再次进行身份验证)。在休息 oauth2 身份验证(rails/omniauth)之后,我尝试通过 JSAPI 检索配置文件:

<script type="text/javascript" src="//platform.linkedin.com/in.js">
api_key: KEY
authorize: true
onLoad: onLinkedInLoad
</script>

<script type="text/javascript">
function onLinkedInLoad() {
    IN.Event.on(IN, "auth", testLinkedin);
}

function testLinkedin() {
  IN.API.Profile("me").result(function(result) { console.log(result.values[0]); });
}
</script>

问题是此 API 配置文件调用结果未定义,即使调用“IN.User.isAuthorized()”返回 true。示例中的调用给出GET https://api.linkedin.com/v1/people/~/connections 404 (Not Found). 最奇怪的是,在我进行身份验证并尝试拨打电话后,有时它会工作一段时间——但 10 分钟后它又返回未定义。

这不是权限问题 - 我拥有正确的权限并且能够通过 REST 进行相同的调用。在使用 REST oauth2 进行身份验证后,是否有人能够进行 JSAPI 调用?

4

0 回答 0