つくりおき

スタートアップで働くWebエンジニアのブログ

go-twitterを使ってツイートしてみる

golangの練習がてら、go-twitterを使ってツイートしてみただけ。
github.com

環境

今回はCloud9(http://c9.io)を使いました
templateはBlankを選んでWorkspace作成。

$ go version
go version go1.8.3 linux/amd64

最初から入ってる。やったぜ。
ちゃちゃっと試したいときにブラウザ上で試せちゃうのはほんとに便利。
 

go get

$ go get github.com/dghubble/go-twitter/twitter
$ go get github.com/dghubble/oauth1

コード

package main

import (
	"fmt"
	"github.com/dghubble/go-twitter/twitter"
	"github.com/dghubble/oauth1"
)

func main() {
	config := oauth1.NewConfig("<consumerKey>", "<consumerSecret>")
        token := oauth1.NewToken("<accessToken>", "<accessSecret>")
	httpClient := config.Client(oauth1.NoContext, token)

	client := twitter.NewClient(httpClient)

	tweet, resp, err := client.Statuses.Update("hello world", nil)
	fmt.Println(tweet)
	fmt.Println(resp)
	fmt.Println(err)
}

ドキュメント見た感じclient.Statuses.Updateの第2引数は画像やら位置情報やらつけたい時に使うみたい。
APIキーの取得方法は割愛。
Getting Started — Twitter Developers

実行

そのまま実行

$ go run main.go

バイナリ化してから実行

$ go build main.go
$ ./main

hello

これから

連携を許可しますか?みたいな画面が出て代わりにWebサービスが投稿するやつができるとこまではやっておきたい。