Securesocial を使用して、OAuth1 経由で Linkedin を認証し、接続されているユーザーの接続のリストを取得しようとしています。
認証は正常に機能しますが、ユーザーが接続された後に要求を呼び出すと、401 応答が返されます。私は間違っているかもしれませんが、潜在的な問題は見当たりません。
以下は、securesocial コード内で提供される Java Demo アプリに追加された単純なメソッドです。
@SecureSocial.SecuredAction ( authorization = WithProvider.class, params = {"linkedin"})
public static Result linkedinConnections(){
Identity user = (Identity) ctx().args.get(SecureSocial.USER_KEY);
OAuth1Info oauthInfo = user.oAuth1Info().get();
String url = "http://api.linkedin.com/v1/people/~/connections:(headline,first-name,last)?format=json";
String consumerKey = SecureSocial.serviceInfoFor(user).key().key();
String consumerSecret = SecureSocial.serviceInfoFor(user).key().secret();
return async(
WS.url(url)
.sign(
new OAuthCalculator(
new OAuth.ConsumerKey(consumerKey, consumerSecret),
new OAuth.RequestToken(oauthInfo.token().toString(), oauthInfo.secret().toString())
)
)
.get()
.map(new Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
System.out.println(response);
return ok(response.getStatusText());
}
})
);
}
どんなアイデアでも役に立ちます
よろしく、ナビル