2015-07-22 9545 views
0

我使用Twitter gem来尝试发布我的网页上帐户的推文列表,但是我一直收到'Unable to验证您的凭证的错误。Twitter ::错误::禁止 - 无法验证您的凭据 - Rails中的Twitter宝石

我甚至把| config |阻止控制器尝试缩小发生的情况,但不要甜甜圈!

Twitter的键是正确的。我刚刚创建了一个应用程序,并将它们直接复制/粘贴到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 

有一些简单的我搞砸了,我敢肯定。我真的不知道我在做什么错误。

在此先感谢!

回答

0

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

+0

Hi @ olalekan-sogunle, 我没有把config = YAML路径放在application.rb文件中。 我刚刚把它塞进去,我会更新我原来的帖子。不幸的是,该应用程序仍然提供相同的“无效或过期令牌”。错误。 – Hinchy

+0

此外,我不想从应用程序鸣叫...我只想访问并显示来自某些帐户的推文。 – Hinchy

+0

是的,所以从帐户推文和显示推文都需要您获得该帐户的特定凭证(access_token和access_secret)。您可以使用https://github.com/arunagw/omniauth-twitter通过身份验证来完成此操作 –

相关问题