Help us understand the problem. What is going on with this article?

情弱だがGoで画像付きツイートしたい

More than 3 years have passed since last update.

もはやGoでやる理由がよく分かりませんが、やってしまったのでメモ。

追記:この記事を最初に書いたときは画像投稿がサポートされていませんでしたが、できるようになったので不要そうな部分を削りました。

GoでTwitterAPI使うならanaconda

とりいそぎ私はNICKI MINAJのお尻を想起しましたね。

golang twitterでググったら

https://github.com/ChimeraCoder/anaconda

これが出てきました。
スターの数もそれなりにあるのでポピュラーっぽい。
なので、今回はこれを使います。

anacondaで画像付きツイートできるんです。

やり方

go get github.com/ChimeraCoder/anacondaでインストール

awful.go
// あらかじめ画像をbase64エンコードしておき、base64Stringに格納しておく
// で、画像をアップロードする
// apiはanacondaから生成したTwitterAPI叩く用のクライアント(?)です
media, _ := api.UploadMedia(base64String)

// 画像のidを付加してツイートする
v := url.Values{}
v.Add("media_ids", media.MediaIDString)
tweet, _ := api.PostTweet("hello anaconda", v)

雑談

本家githubのExamplesに書いてることだけど、メモ

インストール

go get github.com/ChimeraCoder/anaconda

とりあえず文字だけのツイートしてみる

※Twitterアプリの作成やコンシューマキーやアクセストークンなどの準備は事前にしてある前提です。

まずはAPIを叩くためのクライアントのインスタンスを生成します。
githubのExampleにのってるヤツをパクっただけです。

初期化
anaconda.SetConsumerKey("your-consumer-key")
anaconda.SetConsumerSecret("your-consumer-secret")
api := anaconda.NewTwitterApi("your-access-token", "your-access-token-secret")

これでTwitterAPIが叩けるようになりました。

で、投稿は下記のとおり

ツイート
tweet, err := api.PostTweet("hello anaconda", nil)

これだけ笑
簡単ですねー

画像の投稿は冒頭に書いてるヤツでできるはず。

勉強になった。シェアさせてください!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away