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通過身份驗證來完成此操作 –