0

spring-social-facebook で回避策を使用できるように、アプリケーション トークンで spring-social-linkedin を使用できるようにしたいと思います (Spring-social facebook でアプリ アクセス トークンを使用して公開ページをクエリします)。

私のアプリケーションは公開ページをクエリするだけでよいため、特定のユーザーに対して認証する必要はありません。たとえば、公開企業ページhttp://www.linkedin.com/company/googleをクエリします。

私は多くのドキュメントを読んできましたが、現在の状況について少し混乱しています。コンストラクターを介して OAuth1 資格情報を使用して LinkedInTemplate をインスタンス化することさえできず、ドコは時代遅れのようです ( http://docs.spring.io/spring-social-linkedin/docs/1.0.x/reference/htmlsingle /#apis )。

LinkedIn にダンスなしでサーバー統合の機能があるかどうかを知っている人はいますかredirect_uri(明らかに、公開情報に関連する API のサブセットにしかアクセスできません)。

4

2 に答える 2

0

SSLI 1.0.0.RELEASE がプッシュされたときに、新しいドキュメントが適切に公開されていなかったようです。頭を上げてくれてありがとう...私はそれを修正しようとします。

それまでの間... https://developer.linkedin.com/documents/company-lookup-api-and-fieldsにあるLinkedIn の API ドキュメントによると、会社のデータに対するすべての要求は、アクセス トークンを使用して、代わりに認証された呼び出しを行う必要があります。ユーザーの。したがって、このような呼び出しを行う前に、ユーザー認証を取得する必要があります。OAuth 1.0a を使用していても OAuth 2 を使用していても、それは真実だったと思います。

Spring Social LinkedIn は、OAuth 2 認証を使用することを前提としています。これは、LinkedIn がほとんどのアプリで期待していることでもあります ( https://developer.linkedin.com/documents/authenticationを参照)。したがって、LinkedInTemplate をインスタンス化するときに指定する必要があるのは、有効なアクセス トークンだけです。ただし、そのアクセス トークンを取得する方法は別の問題です。

Spring Social の ConnectController は、OAuth ダンスに役立ちます。しかし、ユーザーの承認を必要とせずに、アプリケーションのアクセス トークンを取得する方法を知りたいようです。私が知る限り (これについては喜んで訂正します)、LinkedIn は OAuth 2 クライアント認証をサポートしていません。彼らはアプリケーションの登録ページでアクセストークンを提供しますが、私が知る限り、それは OAuth 1.0a トークンであり、Spring Social では機能しません。それでも、そのトークンはまだユーザートークンです...それはあなたのために承認された単なるトークンです.

したがって、会社の要求で (ドキュメントに従って) ユーザーに代わって行動することを承認されたアクセス トークンが必要な場合は、ユーザー承認を介してアクセス トークンを取得する以外に選択肢はないと思います。自分自身を承認してそのトークンをアプリケーションに使用できると思いますが、それはおそらくトークンの誤用です...自己責任で続行してください。

于 2014-07-28T15:07:59.273 に答える
0

このテストのソースを見て ください https://github.com/spring-projects/spring-social-linkedin/blob/master/spring-social-linkedin/src/test/java/org/springframework/social/linkedin/api/ impl/CompanyTemplateTest.java :

    mockServer.expect(requestTo(CompanyTemplate.COMPANY_URL.replaceFirst("\\{id\\}", "/1337").replaceFirst("\\{filter\\}", "") + "&oauth2_access_token=ACCESS_TOKEN")).andExpect(method(GET))
        .andRespond(withSuccess(new ClassPathResource("company.json", getClass()), MediaType.APPLICATION_JSON));
    Company company = linkedIn.companyOperations().getCompany(1337);

    assertEquals(1337, company.getId());
    assertEquals("http://feeds.feedburner.com/LinkedInBlog", company.getBlogRssUrl());

これはあなたが探しているものですか?

于 2014-07-27T09:11:48.213 に答える