Tweetez régulièrement avec l'API Twitter Go language

Que préparer

・ MAC (PC) ・ AWS Lambda ・ API Twitter · Compte Twitter

Ce que j'ai fait

1. Application API Twitter

Demandez l'API Twitter à partir de l'URL ci-dessous. https://developer.twitter.com/ja/docs

Obtenez la clé et le secret d'API et le jeton et le secret d'accès.

2. Écrire en langue Go

Écrivez le code source pour l'authentification Twitter. Vous n'avez pas à séparer les fichiers séparément.

keys.go


package keys

import 
(
    //Il s'agit de l'importation requise pour l'API Twitter. Sinon, installez-le.
    "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
}

Écrivez le code source du corps du tweet. Cela peut également être fait sans séparer les fichiers. J'essaye de tweeter la date et le texte.

text.go


package text

import (
	"fmt"
	"time"
)

func TextTweet() string {
    //J'écrirai un tweet
    tweetText := "test"

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

    //Stockez le texte à tweeter.
    TweetContent := tweetText
    TweetOfToday := fmt.Sprintf("【%d mois%j jour]\n %s", m, d, TweetContent)
    return TweetOfToday
}

Écrivez la source pour tweeter.

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!")
}

À propos, la structure des dossiers est la suivante.

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

3. Exécuter sur AWS Lambda

Téléchargez le code source Go sur AWS Lambda sous forme de fichier zip. ↓ a été très utile. https://dev.classmethod.jp/articles/aws-lambda-supports-go/

Vous avez besoin d'un fichier binaire pour télécharger et exécuter sur AWS Lambda. Je les ai rassemblés dans un fichier (main.go) dans un fichier binaire. La commande de création de fichier binaire est ↓. Seuls les fichiers binaires peuvent être compressés.

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

Si vous obtenez une erreur lors de la création d'un fichier binaire, essayez ce qui suit:

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

Testez-le avec Lambda et si vous n'obtenez pas d'erreur d'exécution, allez le vérifier sur Twitter! Cela aurait dû être tweeté!

4. Exécutez régulièrement Lambda dans CloudWatch Events.

Exécutez régulièrement Lambda avec l'expression Cron CloudWatch Events. L'expression Cron peut être exécutée une fois tous les deux mois ou à tout moment selon le paramètre. URL de référence: https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-cloudwatchevents-expressions.html

Pour référence, je décrirai la formule cron qui est exécutée à 12h00 tous les jours. (À cause de UTC, ce sera -9 heures)

expression crons:
00 3 * * ? *

5. Confirmation du Tweet

Ce n'est pas grave si vous tweetez à l'heure fixée!

Je l'ai écrit assez grossièrement, mais j'espère que cela aide quelqu'un. .. ..

Recommended Posts

Tweetez régulièrement avec l'API Twitter Go language
Tweet à l'aide de l'API Twitter en Python
Accédez à l'API Twitter après l'authentification Oauth avec Django
Explorez l'URL contenue dans le tweet Twitter avec python
Créez une carte thermique de tweet avec l'API Google Maps
Utiliser l'API Twitter avec Python
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API Twitter
Soutenez-vous avec l'API Twitter
Appelez l'API avec python3.
Update_with_media réussi avec l'API Twitter
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Rationalisez la collecte d'informations avec l'API Twitter et les robots Slack
[Go language] Collectez et enregistrez des images Vtuber à l'aide de l'API Twitter
Accédez à l'API Etherpad-lite avec Python
J'ai aimé le tweet avec python. ..
Accéder à l'API Twitter avec Python
[Memo] Tweet sur Twitter avec Python
J'ai créé un bot Twitter avec Go x Qiita API x Lambda
Tweet la météo avec bot
Collecter des informations sur Twitter avec Python (API Twitter)
Accéder à l'API Docker Remote avec des requêtes
Touchez la liste Twitter avec tweepy
J'ai essayé de supprimer régulièrement les mauvais tweets avec l'API AWS Lambda + Twitter
Tweet de python avec Twitter Developer + Tweepy
Publier à partir d'un autre compte avec l'API Twitter
Liste des codes de langue utilisés dans Twitter (y compris l'API) (avec dictionnaire Python). Quelle est la langue la plus couramment utilisée?
Soyez prudent lorsque vous récupérez des tweets à intervalles réguliers avec l'API Twitter
Obtenez des vacances avec l'API Google Agenda
Extraire des mots populaires soudains avec l'API de streaming Twitter
Jouez avec Dajare en utilisant l'API COTOHA
Utiliser l'API Twitter (enregistrement de compte API et acquisition de tweet)
J'ai essayé d'accéder à l'API Qiita depuis le début
Tweet les prévisions météo avec le bot Partie 2
Bonjour tout le monde avec toutes les fonctionnalités du langage Go
Jusqu'à ce que vous utilisiez l'API Kaggle avec Colab
Profitons du traitement du langage naturel à l'aide de l'API COTOHA
Python avec Go
C'est trop facile d'accéder à l'API Twitter avec rauth et je l'ai ...
Deuxième moitié de la première journée d'étude de Python Essayez d'utiliser l'API Twitter avec Bottle
Jouez avec l'API de consommation d'énergie fournie par Yahoo
[Linux] Exécutez périodiquement git pull avec la commande crontab
[Boto3] Rechercher des utilisateurs Cognito avec l'API List Users
[Life hack] Bot de support Anna pour femmes avec API Twitter
Un expert Ruby a appris la grammaire de base du langage Go
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Exploration avec Python et Twitter API 1 - Fonction de recherche simple
Publiez sur votre compte en utilisant l'API sur Twitter
Tweetez le triple pronostic de la course de bateaux sur Twitter
Obtenez des commentaires et des abonnés avec l'API de données YouTube
Choisissez uniquement du japonais croustillant avec l'API de streaming Twitter
J'ai essayé de frapper l'API avec le client python d'echonest