Twitter ::错误::禁止 - 无法验证您的凭据 - Rails中的Twitter gem

时间:2015-07-22 05:25:07

标签: ruby-on-rails twitter gem environment-variables twitter-gem

我正在使用Twitter gem尝试从我的网页上的帐户发布推文列表,但我一直收到“无法验证您的凭据”错误。

我甚至把| config |阻止控制器尝试缩小正在发生的事情,但没有甜甜圈!

推特键是正确的。我刚刚创建了一个应用程序并将它们直接复制/粘贴到config / application.yml文件中。然后当它不起作用时,我创建了一个新的应用程序并再次尝试。

配置/ application.rb中

require File.expand_path('../boot', __FILE__)
require 'yaml'
require 'rails/all'

config = YAML.load(File.read(File.expand_path('../application.yml', __FILE__)))

配置/ application.yml

TWITTER_CONSUMER_KEY: '123456789'
TWITTER_CONSUMER_SECRET: '123456789'
TWITTER_ACCESS_TOKEN: '123456789'
TWITTER_ACCESS_SECRET: '123456789'

应用/控制器/ pages.html.erb

class PagesController < ApplicationController

  def index

  @twitter = 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

    @twitter.user_timeline("gem")

  end

  def help
  end
end

错误页面

Twitter::Error::Forbidden in PagesController#index
Unable to verify your credentials

Extracted source (around line #12):            
  end

    @twitter.user_timeline("gem")

  end

有些简单的我搞砸了,我很确定。我真的不知道我做错了什么。

提前致谢!

1 个答案:

答案 0 :(得分:0)

@ H-Dog请澄清。在使用application.yml时,您是使用config = YAML.load(File.read(File.expand_path('../application.yml', __FILE__)))从application.rb配置它吗?和 你确定你不想做twitter-auth来获得你想要推文的帐户的必要凭证(access_token和access_secret)吗?