Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails中的Twitter-500内部服务器错误:“;您的凭据不允许访问此资源“;_Ruby On Rails_Ruby On Rails 4_Twitter_Twitter Oauth - Fatal编程技术网

Ruby on rails RubyonRails中的Twitter-500内部服务器错误:“;您的凭据不允许访问此资源“;

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::

全部

我正在用RubyonRails自学Oauth Twitter和Twitter gem。尽管我已经在Rails开发平台上完成了一个训练营,但我对这一点还是相当新鲜

我能够让OAuth-Twitter正常运行,但现在我正试图从应用程序中发送tweet,我得到以下信息:

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