4

私は grails アプリケーションを持っており、ユーザーのアカウントを LinkedIn アカウントに接続したいと考えています。

したがって、私の手順は次のとおりです。

  • 次の場所にリダイレクトするボタンをユーザーにクリックしてもらいます。

https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=MY_API_KEY&scope=r_network&state=SOME_TEXT&redirect_uri=MY_REDIRECT_URI

  • その後、LinkedIn は指定された redirect_uri にリダイレクトし、応答のパラメーターとして認証コードを取得します。そのコードを使用して、次の場所に投稿します。

https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=MY_AUTHORIZATION_CODE&redirect_uri=SAME_REDIREC_URI_AS_BEFORE&client_id=MY_API_KEY&client_secret=MY_API_SECRET

  • それは魅力のように機能します!アクセス トークンを取得し、有効期限と共に User ドメイン クラスに保存します。

今私の問題は、ユーザーが時々ボタンをクリックするのを避けるために、有効期限が切れる前にアクセストークンを更新するロジックを含むコードが必要なときに発生します。アカウントを LinkedIn にリンクし、トークンを再度更新する必要がないアプリケーションを知っています。

ドキュメント: http://developer.linkedin.com/documents/handling-errors-invalid-tokensには、アクセス トークンの更新というセクションがあります。

アクセス トークンの更新は非常に簡単で、ユーザーに認証ダイアログが表示されることなく実行できます。つまり、アプリケーションのユーザー エクスペリエンスに影響を与えないシームレスなプロセスです。

追加の 60 日間の有効期間を持つ新しいアクセス トークンを取得するために、アプリケーションに承認フローを通過させるだけです。

したがって、ユーザーがボタンをクリックして開始する場合、上記と同じプロセスをどのように実行できますか。

次のように、groovy のHTTPClientクラスを使用して GET を試みました。

new RESTClient(accessTokenRequestUrl, ContentType.URLENC)

accessTokenRequestUrl は、上記のボタン href で使用したものと同じです。これは最終的に私の redirect_uri を呼び出す必要があり、そこで認証コードを使用してアクセス トークンを要求しますが、その時点には到達しません。

Firefox 用の RESTClient アドオンを使用してみましたが、正常に動作しますが、呼び出しがアプリケーション内から行われた場合は動作しません。

何かご意見は?前もって感謝します!

乾杯、

ファン

4

1 に答える 1

1

Linkedin JavaScript API を使用すると、アクセス トークンはユーザーの介入なしで自動的に更新されます。authorize: true次のように更新がシームレスに行われるように、設定した初期化文字列内を確認してください。

<script type="text/javascript" src="http://platform.linkedin.com/in.js">
  api_key: YOUR_KEY_HERE
  authorize: true
</script>
于 2013-03-28T17:53:50.740 に答える