Es ist Abe, der den Dienst um diese Zeit freigegeben hat. Obwohl ich ihm einen übermäßigen Titel gegeben habe, habe ich Probleme, weil ich Marketing nicht verstehe. Vorerst habe ich angefangen, Twitter auf Ruby zu verwenden, daher werde ich das Wissen beschreiben. (Es hat gerade erst begonnen und das Ergebnis ist unbekannt.)
Der Betrieb von Twitter ist problematisch. .. Ich bin ein Ruby-Ingenieur und kein Twitterer (wütend) Gibt es eine einfache Möglichkeit, es zu bedienen? Dies ist ein Artikel für Menschen.
Das Beispiel ist in Ruby geschrieben.
――Wie haben Sie das automatisiert? --Was ist die Twitter Rest API?
Ich habe Twitter Rest API verwendet, um es zu automatisieren.
Wie der Name schon sagt, handelt es sich um eine von Twitter bereitgestellte API. Durch Aufrufen dieser API Sie können die Verarbeitung auf Twitter programmgesteuert durchführen, z. B. Tweets und Retweets.
Ruby hat ein Juwel, das es einfach macht, diese Twitter Rest API aufzurufen. Lassen Sie uns das ausnutzen. https://github.com/sferik/twitter
Wenn Sie die Gliederung und Parameter jeder API kennen möchten, lesen Sie bitte die folgende Referenz. Es ist leicht verständlich organisiert. https://rdoc.info/gems/twitter/Twitter/REST
Erstellen Sie zunächst ein Twitter-Entwicklerkonto. Ich habe auf diesen Artikel verwiesen. https://qiita.com/kngsym2018/items/2524d21455aac111cdee
Es ist ein bisschen mühsam, weil ich Sie auf Englisch kontaktieren muss, Bitte überwinde es mit einem Geist.
Implementieren wir die Klasse, die den Client erstellt. Der Client verfügt über jede Methode, die die Twitter-API aufruft. Wenn Sie einen Client erstellen und eine Methode aufrufen, Es ist möglich, die Verarbeitung wie Tweets und Retweets aus dem Programm aufzurufen.
twitter-wrapper.rb
require 'twitter'
class TwitterWrapper
attr_accessor :client
def initialize
@client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV["TWITTER_API_KEY"]
config.consumer_secret = ENV["TWITTER_API_SECRET"]
config.access_token = ENV["TWITTER_ACCESS_TOKEN"]
config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
end
end
def tweet(content:, option: {})
@client.update(content, option)
end
def tweet_with_media(content:, images: , option: {})
@client.update_with_media(content, images, option)
end
def retweets(tweet_id: nil)
@client.retweet(tweet_id)
end
end
Dieses Mal habe ich die Einstellungen in config / twitter.yml platziert, aber bitte platzieren Sie sie, wo immer Sie möchten. Wenn Sie New Twitter :: REST :: Client verwenden, ist es kein Problem, wenn Sie jeden Wert korrekt eingeben können. twitter-wrapper.rb beschreibt nur die diesmal erläuterte Methode. Es gibt viele andere Methoden, daher wäre es interessant, sie in Dokumentation zu überprüfen.
Ich mache die folgenden Operationen.
Wenn der Inhalt veröffentlicht wird, rufen wir Tweet an. Ich führe nur die Wrap-Methode update_with_media (tweet_with_media) aus, die die Tweet-API aufruft. Dieses Mal wollte ich das Bild zusammen twittern, also verwende ich update_with_media. Wenn Sie das Image nicht benötigen, können Sie die Aktualisierungsmethode verwenden.
tweet.rb
class Tweet < Twitters::Application
def tweet(content)
tweet_wrapper = TwitterWrapper.new
content = content #Tweet Inhalt
images =【Bild】# Array<File>
tweet_wrapper.tweet_wrapper.tweet_with_media(content: content, images: images)
end
end
Der folgende Prozess wird von cron aufgerufen. Wenn Sie jedoch versuchen, einen bereits retweeteten Tweet zu retweeten, wird eine Fehlermeldung angezeigt. Ich denke, es ist freundlicher, etwas Verarbeitung hinzuzufügen.
retweet.rb
tweet_wrapper = TwitterWrapper.new
tweet_wrapper.search('Kontobezeichnung').each do |tweet|
user_name = tweet.user.screen_name
return false if !user_name.include?('Kontobezeichnung')
tweet_wrapper.retweets(tweet_id: tweet_id)
end
Das Obige ist die Art, wie ich darüber nachgedacht habe, also denke ich, dass es verfeinert werden kann. Wenn Sie diese Art zu schreiben haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten!
Gutes Twitter-Leben!