Ruby on rails RubyonRails中的Twitter-500内部服务器错误:“;您的凭据不允许访问此资源“;
全部 我正在用RubyonRails自学Oauth Twitter和Twitter gem。尽管我已经在Rails开发平台上完成了一个训练营,但我对这一点还是相当新鲜 我能够让OAuth-Twitter正常运行,但现在我正试图从应用程序中发送tweet,我得到以下信息:Ruby on rails RubyonRails中的Twitter-500内部服务器错误:“;您的凭据不允许访问此资源“;,ruby-on-rails,ruby-on-rails-4,twitter,twitter-oauth,Ruby On Rails,Ruby On Rails 4,Twitter,Twitter Oauth,全部 我正在用RubyonRails自学Oauth Twitter和Twitter gem。尽管我已经在Rails开发平台上完成了一个训练营,但我对这一点还是相当新鲜 我能够让OAuth-Twitter正常运行,但现在我正试图从应用程序中发送tweet,我得到以下信息: Twitter::Error::禁止在/tweets上使用 您的凭据不允许访问此资源。 从我的user.rb文件在client.update(tweet)上抛出错误: class User < ActiveRecord::
Twitter::Error::禁止在/tweets上使用
您的凭据不允许访问此资源。
从我的user.rb
文件在client.update(tweet)
上抛出错误:
class User < ActiveRecord::Base
class << self
def from_omniauth(auth_hash)
user = find_or_create_by(uid: auth_hash['uid'], provider: auth_hash['provider'])
user.name = auth_hash['info']['name']
user.location = auth_hash['info']['location']
user.image_url = auth_hash['info']['image']
user.url = auth_hash['info']['urls']['Twitter']
user.oauth_token=auth_hash.credentials.token
user.oauth_secret=auth_hash.credentials.secret
user.save!
user
end
end
def tweet(tweet)
client = Twitter::REST::Client.new do |config|
config.consumer_key = Rails.application.config.twitter_key
config.consumer_secret = Rails.application.config.twitter_secret
config.access_token = oauth_token
config.access_token_secret = oauth_secret
end
client.update(tweet)
end
end
你能提供的任何帮助都会很棒。您可以在我的上找到所有其他信息,因为我发现我没有访问我的应用程序中存储的密钥。yml(耶,费加罗!)<代码>用户.rb已更新为:
def tweet(tweet)
client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.access_token = ENV['TWITTER_ACCESS_TOKEN']
config.access_token_secret = ENV['TWITTER_ACCESS_SECRET']
end
client.update(tweet)
end
end
通过我的帐户发送的测试Tweet运行良好。您是否已验证您的环境变量是否已设置?
def tweet(tweet)
client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.access_token = ENV['TWITTER_ACCESS_TOKEN']
config.access_token_secret = ENV['TWITTER_ACCESS_SECRET']
end
client.update(tweet)
end
end