为多个用户提供twitter gem

时间:2012-12-15 21:20:55

标签: ruby-on-rails twitter-gem

使用twitter gem我想获得经过身份验证的用户的所有关注者。我只是获得了应用程序的注册twitter id的关注者。

我在初始化程序中有一个twitter.rb,它使用Twitter上已注册应用程序的消费者密钥/秘密

Twitter.configure do |config|
    config.consumer_key = '****'
    config.consumer_secret = '****'
end

当您登录时,您可以通过Devise进行登录。然后在用户配置文件中,用户可以使用Twitter进行身份验证,此时我将存储令牌和密码。

def create
    auth = request.env["omniauth.auth"]
    currentAuthentication = Authentication.find_by_provider_and_uid(auth['provider'], auth['uid'])
    if currentAuthentication
        flash[:notice] = "Logged in successfully."
    else
        current_user.authentications.create(:provider => auth['provider'], :uid => auth['uid'], :token => auth['credentials']['token'], :secret => auth['credentials']['secret'])
        flash[:notice] = "Authentication successful."
    end

    redirect_to authentications_url
end

然后在稍后阶段,我使用我存储的信息验证该用户,并希望得到他的粉丝。

  def getwords
    # authenticate at twitter
    authenticationDetails = current_user.authentications.first()
    wordClient = Twitter::Client.new(
        :oauth_token => authenticationDetails.token,
        :oauth_token_secret => authenticationDetails.secret
        )

    # get the users followers
    #wordClient.update("I'm tweeting using the Twitter Gem.")
    cursor = "-1"
    followerIds = []
    while cursor != 0 do
      followers = wordClient.follower_ids

      cursor = followers.next_cursor
      followerIds+= followers.ids
      sleep(2)
    end

    return followerIds
  end

当我执行wordClient.update时,我从已注册的应用程序中发送了一条推文,并且我也获得了已注册应用程序的关注者。

我期待发送推文并获得经过身份验证的用户的关注者?我哪里错了?我能找到的所有例子都是基于一个用户的推特。

0 个答案:

没有答案