【问题标题】:Keep getting Ruby Twitter::Error::Forbidden继续获取 Ruby Twitter::Error::Forbidden
【发布时间】:2015-04-15 20:59:16
【问题描述】:

我正在从文本文件中提取推文并以定时间隔发布推文。当第一条推文发布时,一切都很好。当下一条推文发布时,我收到一条错误消息:

我有四把钥匙,但我可以随时更新它们或获得新的...这是我正在使用的代码:

require 'Twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "..."
  config.consumer_secret = "..."
  config.access_token = "..."
  config.access_token_secret = "..."
end


def repeat_every(interval)
  loop do
    start_time = Time.now
    yield
    elapsed = Time.now - start_time
    sleep([interval - elapsed, 0].max)
  end
end


blog_post = []
tweet_img = []


def post 
    client = Twitter::REST::Client.new do |config|
        config.consumer_key = "..."
        config.consumer_secret = "..."
        config.access_token = "..."
        config.access_token_secret = "..."
    end
  File.open("tweets.txt") do |line|
    line.each do |item|
      tweets = item
      puts tweets
      client.update("#{tweets}").to_s
      sleep((rand*1800 +900).to_i)
    end
  end
end


repeat_every(81000){
    post
}

【问题讨论】:

  • 它说您缺少一个名为“status”的必需参数,您调查过吗?
  • 是的,我不知道如何添加那个参数......或者为什么......它一开始正常发推文......加上推文的代码说我使用“client.update(”text“ )”以发推文。所以我认为这会起作用。 :\ @cantido
  • 您知道如何添加该参数吗? @cantido

标签: ruby windows loops twitter status


【解决方案1】:
require 'Twitter'

def repeat_every(interval)
  loop do
    start_time = Time.now
    yield
    elapsed = Time.now - start_time
    sleep([interval - elapsed, 0].max)
  end
end


def post 
    client = Twitter::REST::Client.new do |config|
      config.consumer_key = "xxxx"
      config.consumer_secret = "xxxx"
      config.access_token = "xxxx"
      config.access_token_secret = "xxxx"
    end
  File.open("tweets.txt") do |line|
    line.each_line do |item|
      tweets = item
      puts tweets
      client.update("#{tweets}")
      sleep((rand*10 + 10).to_i)
    end
  end

end


repeat_every(81000){
    post
}

【讨论】:

  • 另外,#{tweets} 可能超过 140 个字符?
  • 注意推特字数限制。
【解决方案2】:

在第二行插入这段代码

OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE

【讨论】:

  • 添加一些描述,而不是只提供参考链接。
  • 对不起。我英语不好。不知道很好的解释可能。我认为 ssl 证书设置不正确。所以,我已经禁用了证书的身份验证。
  • 我对已经描述好的没有信心。你能理解吗?并祈祷你传输成功。
  • 我得到一个“警告:已经初始化常量 OpenSSL::SSL::VERIFY_PEER”......不管这意味着@rainwont
  • 然后它不会发布推文@rainwont
猜你喜欢
  • 2022-06-26
  • 2015-10-11
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 2013-06-09
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
相关资源
最近更新 更多