Twittern Sie regelmäßig mit der Twitter-API in Go-Sprache

Was vorzubereiten?

・ MAC (PC) ・ AWS Lambda ・ Twitter API ・ Twitter-Konto

Was ich getan habe

1. Twitter API-Anwendung

Beantragen Sie die Twitter-API über die unten stehende URL. https://developer.twitter.com/ja/docs

Holen Sie sich API-Schlüssel & Geheimnis und Zugriffstoken & Geheimnis.

2. Schreiben Sie in der Sprache Go

Schreiben Sie den Quellcode für die Twitter-Authentifizierung. Sie müssen die Dateien nicht separat trennen.

keys.go


package keys

import 
(
    //Dies ist der für die Twitter-API erforderliche Import. Wenn nicht, installieren Sie es.
    "github.com/ChimeraCoder/anaconda"
)

func GetTwitterApi() *anaconda.TwitterApi {
	anaconda.SetConsumerKey("API Key")
	anaconda.SetConsumerSecret("API secret Key")
	api := anaconda.NewTwitterApi("token", "token secret")
	return api
}

Schreiben Sie den Quellcode des Tweet-Körpers. Dies kann auch ohne Trennung von Dateien erfolgen. Ich versuche, Datum und Text zu twittern.

text.go


package text

import (
	"fmt"
	"time"
)

func TextTweet() string {
    //Ich werde einen Tweet schreiben
    tweetText := "test"

    d := time.Now().Day()
    m := time.Now().Month()

    //Speichern Sie den Text zum Twittern.
    TweetContent := tweetText
    TweetOfToday := fmt.Sprintf("【%d Monat%d Tag]\n %s", m, d, TweetContent)
    return TweetOfToday
}

Schreiben Sie die Quelle, um tatsächlich zu twittern.

main.go


package main

import (
	"fmt"
	. "fmt"

	. "./keys"
	. "./text"
)
func main(){
    api := GetTwitterApi()
    text := TextTweet()
	
    tweet, err := api.PostTweet(text, nil)
    if err != nil {
       panic(err)
    }
     Print(tweet.Text)

     fmt.Println("Finish!")
}

Die Ordnerstruktur ist übrigens wie folgt.

autoTweet
  ∟main.go
 ∟keys
   ∟keys.go
  ∟text
   ∟text.go

3. Führen Sie AWS Lambda aus

Laden Sie den Go-Quellcode als Zip-Datei auf AWS Lambda hoch. ↓ war sehr hilfreich. https://dev.classmethod.jp/articles/aws-lambda-supports-go/

Sie benötigen eine Binärdatei, um AWS Lambda hochzuladen und auszuführen. Ich habe sie in einer Datei (main.go) zu einer Binärdatei zusammengefasst. Der Befehl zum Erstellen von Binärdateien lautet ↓. Es können nur Binärdateien komprimiert werden.

#GOOS=linux GOARCH=amd64 go build main.go

Wenn beim Erstellen einer Binärdatei eine Fehlermeldung angezeigt wird, versuchen Sie Folgendes:

#go get -u golang.org/x/sys/unix
#set GOOS=linux
#set GOARCH=amd64
#set CGO_ENABLED=0

Testen Sie es mit Lambda und wenn Sie keinen Ausführungsfehler erhalten, schauen Sie es sich auf Twitter an! Es hätte getwittert werden sollen!

4. Führen Sie Lambda regelmäßig in CloudWatch-Ereignissen aus.

Führen Sie Lambda regelmäßig mit dem Ausdruck CloudWatch Events Cron aus. Der Cron-Ausdruck kann je nach Einstellung alle zwei Monate oder jederzeit ausgeführt werden. Referenz-URL: https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-cloudwatchevents-expressions.html

Als Referenz beschreibe ich den Cron-Ausdruck, der jeden Tag um 12:00 Uhr ausgeführt wird. (Wegen UTC werden es -9 Stunden sein)

crons Ausdruck:
00 3 * * ? *

5. Tweet Bestätigung

Es ist in Ordnung, wenn Sie zur festgelegten Zeit twittern!

Ich habe es ziemlich grob geschrieben, aber ich hoffe, es hilft jemandem. .. ..

Recommended Posts

Twittern Sie regelmäßig mit der Twitter-API in Go-Sprache
Tweet mit der Twitter-API in Python
Klicken Sie nach der Oauth-Authentifizierung mit Django auf die Twitter-API
Crawlen Sie die im Twitter-Tweet enthaltene URL mit Python
Erstellen Sie eine Tweet-Heatmap mit der Google Maps-API
Verwenden Sie die Twitter-API mit Python
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit der Twitter-API
Unterstützen Sie sich mit der Twitter API
Rufen Sie die API mit python3 auf.
Erfolgreiches update_with_media mit Twitter API
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Optimieren Sie das Sammeln von Informationen mit Twitter API und Slack Bots
[Go language] Sammeln und speichern Sie Vtuber-Bilder mithilfe der Twitter-API
Klicken Sie mit Python auf die Etherpad-Lite-API
Ich mochte den Tweet mit Python. ..
Greifen Sie mit Python auf die Twitter-API zu
[Memo] Tweet auf Twitter mit Python
Ich habe einen Twitter-Bot mit Go x Qiita API x Lambda erstellt
Tweet die Wettervorhersage mit Bot
Sammeln von Informationen von Twitter mit Python (Twitter API)
Greifen Sie mit Requests auf die Docker Remote API zu
Berühren Sie die Twitter-Liste mit Tweepy
Ich habe versucht, schlechte Tweets regelmäßig mit der AWS Lambda + Twitter API zu löschen
Tweet von Python mit Twitter Developer + Tweepy
Poste von einem anderen Konto mit Twitter API
Liste der in Twitter verwendeten Sprachcodes (einschließlich API) (mit Python-Wörterbuch). Was ist die am häufigsten verwendete Sprache?
Seien Sie vorsichtig, wenn Sie in regelmäßigen Abständen Tweets mit der Twitter-API abrufen
Holen Sie sich Urlaub mit der Google Kalender-API
Extrahieren Sie plötzliche beliebte Wörter mit der Twitter-Streaming-API
Spielen Sie mit Dajare mithilfe der COTOHA-API
Verwenden Sie die Twitter-API (API-Kontoregistrierung und Tweet-Erfassung).
Ich habe versucht, die Qiita-API von Anfang an zu aktivieren
Tweet die Wettervorhersage mit Bot Teil 2
Hallo Welt mit allen Funktionen der Go-Sprache
Bis Sie die Kaggle-API mit Colab verwenden
Lassen Sie uns die Verarbeitung natürlicher Sprache mit der COTOHA-API genießen
Python mit Go
Es ist zu einfach, mit rauth auf die Twitter-API zuzugreifen, und ich habe sie ...
Zweite Hälfte des ersten Tages des Python-Studiums Versuchen Sie, die Twitter-API mit Bottle zu erreichen
Spielen Sie mit der von Yahoo bereitgestellten Stromverbrauchs-API
[Linux] Führen Sie git pull regelmäßig mit dem Befehl crontab aus
[Boto3] Suchen Sie mit der List Users API nach Cognito-Benutzern
[Life Hack] Anna-Unterstützungsbot für Frauen mit Twitter-API
Ein Ruby-Experte lernte die grundlegende Grammatik der Go-Sprache
Prognostizieren Sie das Geschlecht von Twitter-Nutzern durch maschinelles Lernen
Crawlen mit Python und Twitter API 1-Einfache Suchfunktion
Posten Sie mit der API auf Twitter in Ihrem Konto
Tweet die dreifache Vorhersage des Bootsrennens auf Twitter
Erhalten Sie Kommentare und Abonnenten mit der YouTube-Daten-API
Mit der Twitter-Streaming-API können Sie nur knuspriges Japanisch lernen
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen