使用LinkedIn';让我们一起玩RESTAPI吧!2和Oauth 2

使用LinkedIn';让我们一起玩RESTAPI吧!2和Oauth 2,rest,oauth-2.0,playframework-2.0,linkedin,Rest,Oauth 2.0,Playframework 2.0,Linkedin,我们想用LinkedIn的信息更新我们的用户配置文件(如果用户选择导入此信息)。但是,我们希望使用Oauth2进行此授权,但根据LinkedIn的网站,其REST API仅支持Ouath 1.0a: 有办法吗 由于LinkedIn使用他们的Javascript代码提供OAuth 2访问,您可以深入到他们的Javascript代码中,以某种方式访问文件,其中包含: 对于请求资源,可能可以使用它们中的端点 但是,请注意,他们可能会禁止在没有JSAPI的情况下使用这些端点,这可能会导致您的客户端受到制

我们想用LinkedIn的信息更新我们的用户配置文件(如果用户选择导入此信息)。但是,我们希望使用Oauth2进行此授权,但根据LinkedIn的网站,其REST API仅支持Ouath 1.0a:


有办法吗

由于LinkedIn使用他们的Javascript代码提供OAuth 2访问,您可以深入到他们的Javascript代码中,以某种方式访问文件,其中包含:

对于请求资源,可能可以使用它们中的端点


但是,请注意,他们可能会禁止在没有JSAPI的情况下使用这些端点,这可能会导致您的客户端受到制裁。您可以联系他们并请求许可。

我在Scala和Java中创建了一个Play 2.x客户端,它支持OAuth/CAS/OpenID/HTTP身份验证和用户配置文件检索:


对于OAuth支持,它基于Scribe,支持LinkedIn、Facebook、Twitter、Google、Yahoo、DropBox、Github、Windows live、WordPress…

谢谢!我想我们可能最终会使用SecureSocial:
l.api = "https://api.linkedin.com/v1";
l.login = "https://www.linkedin.com/uas/connect/user-signin";
l.authorize = "https://www.linkedin.com/uas/oauth2/authorize?immediate=true";
[...]
l.logout = "https://www.linkedin.com/uas/connect/logout?oauth_token={OAUTH_TOKEN}&api_key={API_KEY}&callback={CALLBACK}";
l.userspace_renew = "https://www.linkedin.com/uas/js/authuserspace?v=0.0.2000-RC1.20001-1400&api_key={API_KEY}";