我该如何处理“错误”与 twitter.com 沟通? (红宝石 + 推特宝石)

发布于 2024-08-29 20:14:58 字数 489 浏览 2 评论 0原文

我有一段很好用的代码。我尝试发送相同的文本,但我的脚本结束了,因为 /lib/ruby/gems/1.8/gems/twitter-0.9.4/lib/twitter.rb:87:in 'raise_errors': (403):禁止 - 状态重复。 (Twitter::General)

我知道我不能两次推文相同的文本,但我想我会在响应变量中得到错误。

我该如何处理该错误?那么我的脚本会很好地完成而不是因为错误?

oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
oauth.authorize_from_access('access token', 'access secret')

client = Twitter::Base.new(oauth)
response = client.update('Heeeyyyyoooo from Twitter Gem!')

I have nice piece of code that works. I tried to tweet the same text and I my script ended because /lib/ruby/gems/1.8/gems/twitter-0.9.4/lib/twitter.rb:87:in 'raise_errors': (403): Forbidden - Status is a duplicate. (Twitter::General)

I know I cannot tweet the same text twice but I thought I will get the error inside the response variable.

How can I deal with the error? So my script will finish nicely not because of an error?

oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
oauth.authorize_from_access('access token', 'access secret')

client = Twitter::Base.new(oauth)
response = client.update('Heeeyyyyoooo from Twitter Gem!')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟花肆意 2024-09-05 20:14:58

您可以将任何 ruby​​ 语句或语句块包装在 begin..rescue..end 中来捕获错误 - 您可能想尝试以下操作:

begin
  oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
  oauth.authorize_from_access('access token', 'access secret')

  client = Twitter::Base.new(oauth)
  response = client.update('Heeeyyyyoooo from Twitter Gem!')
rescue Twitter::General
  # Catch the error and do nothing
end

如果您想捕获任何错误,您可以将救援行更改为仅显示 rescue。您可以在 ruby​​-doc 网站上阅读有关它们的更多信息。

You can wrap any ruby statement or block of statements in begin..rescue..end to catch errors - you might want to try this:

begin
  oauth = Twitter::OAuth.new('consumer token', 'consumer secret')
  oauth.authorize_from_access('access token', 'access secret')

  client = Twitter::Base.new(oauth)
  response = client.update('Heeeyyyyoooo from Twitter Gem!')
rescue Twitter::General
  # Catch the error and do nothing
end

If you wanted to catch any error you can change the rescue line to just say rescue. You can read more about them on the ruby-doc website.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文