1

LinkedIn gem を使用して LinkedIn にアクセスしようとしています。私はアクセスを取得することを乗り越えることができないようです。

私のコードはこれです:

@client = LinkedIn::Client.new(API_KEY, SECRET)
@rtoken = client.request_token.token
@rsecret = client.request_token.secret
puts "token: #{@rtoken} secret #{@rsecret}"
@authorize_url = client.request_token.authorize_url
puts "authorize url: #{@authorize_url}"
@pin = @authorize_url.split("oauth_token=").last.strip
puts "pin #{@pin}"
@keys = @client.authorize_from_request(@rtoken, @rsecret, @pin)
@client.authorize_from_access(@keys)

そして、それはエラーを生成します:

token: sdklghsdgksdghskdhg secret shdlgkshdgshsdk
authorize url: https://www.linkedin.com/uas/oauth/authorize?oauth_token=sdkghskldghsdkg
pin fslkdghskdghdsgkhsdkhg
OAuth::Problem: permission_unknown

これをどこから始めればよいかよくわかりません。どの許可が欠落しているかを見つけようとしましたが、途方に暮れています。

考え?

4

2 に答える 2

1

私はこれで自分で遊び始めたばかりです。認証 URL をブラウザに手動で貼り付けてから、[承認] をクリックして要求されたアクセス許可をアカウントに許可しない限り、同じ問題が発生します。次に、authorize_from_request 呼び出しのために入力した画面にピンが出力されます。

したがって、コードのこの行は正しくありません。URL の最後の部分は、ピンではなく、READMEが示すように generated_token です。これを行うプログラム的な方法がわかりません。

@pin = @authorize_url.split("oauth_token=").last.strip
于 2013-08-04T17:27:23.653 に答える
0

問題を発見しました。request_token.authorize_url がピンを返さないことが判明しました。認証してピンを生成できる場所にアクセスするための URL を提供するだけです。次に、ピンをアプリケーションにコピーする必要があります。よりエレガントなソリューションは次のとおりです。

puts request_token.authorize_url
puts "Access the URL above. Authenticate. Enter the PIN here:"
pin = gets.strip
access_keys = client.authorize_from_request(rtoken, rsecret, pin)

これにより、URL が出力され、ユーザーに認証を指示してから、PIN をアプリケーションに入力します。

于 2016-12-09T15:58:12.223 に答える