1

使用 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 时,我从已注册的应用程序中发送了一条推文,并且还获得了已注册应用程序的关注者。

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

4

0 回答 0