・ MAC (PC) ・ AWS Lambda ・ Twitter API ・ Twitter-Konto
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.
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
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!
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 * * ? *
Es ist in Ordnung, wenn Sie zur festgelegten Zeit twittern!
Ich habe es ziemlich grob geschrieben, aber ich hoffe, es hilft jemandem. .. ..
Recommended Posts