0

RoR で手を汚すためだけに、個人的なプロジェクトに取り組んでいます。私がやろうとしているのは、Twitter gem を使用した非常に単純な Twitter 検索エンジンです。さまざまなオプションを指定してTwitter.searchメソッドを呼び出すと、この目標を簡単に達成できます。私の問題は次のとおりです。

検索から取得した各ツイートのユーザー アバターを表示するにはどうすればよいですか?

json url を取得して解析することはできましたが、Bad Authentication Data メッセージが表示されます。

{"errors"=>[{"message"=>"Bad Authentication data", "code"=>215}]}

これが OAuth の問題である可能性があることは知っていますが、それについて読んでいても、適切に使用する方法について少し混乱しています。ユーザーごとに OAuth 承認ダンスを実行する必要がありますか (最終的にはどのように)、または検索から結果を取得するために行ったように、Twitter ダッシュボードから値をハードコーディングできますか (これは明らかにそうではありません)アバターのために働く)?

次のような twitter.rb ファイルがあります。

Twitter.configure do |config|
  config.consumer_key = 'key'
  config.consumer_secret = 'secret'
  config.oauth_token = 'token'
  config.oauth_token_secret = 'token-secret'
end

* https://api.twitter.com/1.1/users/show.json?user_id= ...*からユーザー json を取得するとうまくいくと思いましたが、その認証を取得する方法がわかりません。同様の質問がたくさんありますが、この問題を解決する方法をまだ理解できませんでした。どんな助けでも大歓迎です。

編集:これに関連する twitter API doc には、「このページのサイドバーにある OAuth ツールを使用して、このリクエストの OAuth 署名を生成します。」と書かれていますが、署名を使用してリクエストを承認する方法がわかりません (実際の問題)

4

1 に答える 1

1

このバージョンの twitter gem でやりたいことを実行できます。構成オプションに基づいて、4.8 未満のバージョンの gem を使用しているため、一部のドキュメントはバージョン 5 用に既に更新されています。この呼び出しはバージョン 5 で廃止されることに注意してください。変更する必要があります。このバージョンでは、これが私が行う方法です:

コントローラ:

Twitter.configure do |config|
  config.consumer_key        = consumer_key
  config.consumer_secret     = consumer_secret
  config.oauth_token        = oauth_token
  config.oauth_token_secret = oauth_token_secret
end 

@twitter_search = Twitter.search(params[:search], :count => 10, :result_type => "recent")

ビュー(これはhamlですが、erbまたはslimも同様です):

%ul
  = @twitter_search.results.map do |tweet| status.profile_image_url }
    %li
      .span2
        %img{:src => status.profile_image_url}
        #{status.screen_name}
      .span4
        #{status.text}
于 2013-11-02T17:15:25.140 に答える