5

Ruby on Rails アプリで Evernote を認証するために OAuth gem を使用しようとしています。Twitter を認証するためのチュートリアルを使用しています - http://blog.brijeshshah.com/integrate-twitter-oauth-in-your-rails-application/は、Evernote が見つからなかったためです。

これまでのところ、ユーザーにアプリケーションを承認してもらい、一時的な資格情報を取得しました。

customer = OAuth::Consumer.new("xxx", "xxx",{
  :site=>"https://sandbox.evernote.com/",
  :request_token_path => "/oauth",
  :access_token_path => "/oauth",
  :authorize_path => "/OAuth.action"})
@request_token = customer.get_request_token(:oauth_callback => "http://localhost:3000/create_evernote_step_2")

session[:request_token] = @request_token.token
session[:request_token_secret] = @request_token.secret       

redirect_to @request_token.authorize_url

これで、oauth_token と oauth_verifier ができたので、これらをアクセス トークンに変換する必要があります。Twitter チュートリアルのこの部分は Twitter に固有のように思われるので、Evernote の場合の処理​​方法がわかりました。誰でも私を助けることができますか?

4

4 に答える 4

5

Evernote のサンプル コードに、OAuth gem を使用する Ruby OAuth の例が含まれるようになりました。サンプル コードはhttp://www.evernote.com/about/developer/api/からダウンロードできます。この場合、次の手順は、一時的な資格情報をトークンの資格情報に交換することです。

access_token = @request_token.get_access_token(:oauth_verifier => oauth_verifier)

oauth_verifier は、コールバック URL の一部としてアプリケーションに渡されます。

于 2011-03-08T15:49:23.220 に答える
0

こんにちは、私もこのような道を歩み始めました。そこでは、Oauth を他のアプリの 1 つに統合していました。

github で oauth-plugin をチェックアウトする必要があります。それがすべてのビジネスを処理してくれるからです。

それはほとんどの場合に役立つはずです。さらに、「人気」ではない「奇妙な」oauthプロバイダーがある場合は、それを構成ファイルに追加できます。それが私が私のものでしたことです。

1 つの提案は、OauthConsumersController のすべてのメソッドを上書きし、必要に応じて「微調整」することです。私はそれをしなければならなかったことを知っています、そしてまあ、彼が彼のプラグインで何をしたかを見て、そこからそれを微調整する方が簡単でした. 地獄、多分彼はあなたの正確な問題のために彼のコードであなたがたどることができるパスを持っているかもしれません.

于 2011-02-15T03:18:10.557 に答える
0

Evernote の役立つ例に加えて、単体テストで「ユーザーをリダイレクトし、アクセスを許可し、リダイレクトして戻す」サイクルを自動化することもできます。少しやりがいがあることがわかったので、そのためのすべてのコードをここに投稿しました。

単体テストでの Evernote OAuth

于 2012-12-13T19:03:24.383 に答える