【问题标题】:Ruby Twitter, Retrieving Full Tweet TextRuby Twitter,检索完整的推文文本
【发布时间】:2018-05-03 04:14:15
【问题描述】:

我正在使用 Ruby Twitter gem 来检索推文的全文。

我第一次尝试这个,你可以看到文本被截断了。

[5] pry(main)> t = client.status(782845350918971393)
=> #<Twitter::Tweet id=782845350918971393>
[6] pry(main)> t.text
=> "A #Gameofthrones fan? Our #earlybird Dublin starter will get you 
touring the GOT location in 2017
#traveldealls… (SHORTENED URL WAS HERE)"

然后我尝试了这个:

[2] pry(main)> t = client.status(782845350918971393, tweet_mode: 'extended')
=> #<Twitter::Tweet id=782845350918971393>
[3] pry(main)> t.full_text
=>
[4] pry(main)> t.text
=>

当我使用tweet_mode: 'extended' 选项时,文本和全文都是空的。

我还尝试编辑发出请求的 gem 的位,响应是相同的。 perform_get_with_object("/1.1/statuses/show/#{extract_id(tweet)}.json?tweet_mode=extended", options, Twitter::Tweet)

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby api twitter rubygems


    【解决方案1】:

    这是我发现有用的解决方法:

    以下是我处理此问题 ATM 的方式。似乎正在工作。我同时使用流式传输(使用 Tweetstream)和 REST API。

    status = @client.status(1234567890, tweet_mode: "extended")
    
    if status.truncated? && status.attrs[:extended_tweet]
      # Streaming API, and REST API default
      t = status.attrs[:extended_tweet][:full_text]
    else
      # REST API with extended mode, or untruncated text in Streaming API
      t = status.attrs[:text] || status.attrs[:full_text]
    end
    

    来自https://github.com/sferik/twitter/pull/848#issuecomment-329425006

    【讨论】:

    • 做到了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2018-04-23
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多