使用 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。