Ustream 配信ステータスを確認する
ツールを作った。
GitHub - utahta/ustream-live-status: Get live status of channel on Ustream
コマンドを叩くと Ustream API からチャンネルの配信ステータスを取ってくる。
$ go get github.com/utahta/ustream-live-status/cmd/uststat ... 略 ... $ uststat -name momoclotv offline
live
が返ってきたら配信中で、 offline
が返ってきたらオフライン。
Go言語から使うことも出来る。
import "github.com/utahta/ustream-live-status" c, err := uststat.New() flag, err := c.IsLive("iss-hdev-payload") // http://www.ustream.tv/channel/iss-hdev-payload を確認
前に Ruby で似たようなもの作ったけど、Go でも作ってみた。
Go + anaconda でツイッターにビデオをアップロード
メモ。
github.com/ChimeraCoder/anaconda は、media_category に現時点では対応していない。
仮にこのパラメーターを指定すると、アップロードが非同期になる。docs/upload-finalize
append は1つ5MBに制限されているので、大きなビデオファイルを取り扱うときは5MB毎に分割してあげる必要がある。 docs/upload-append
// e.g. mediaMaxLen := 5 * 1024 * 1024 // 5MB segment := 0 for i := 0; i < totalBytes; i += mediaMaxLen { var mediaData string if i+mediaMaxLen < totalBytes { mediaData = base64.StdEncoding.EncodeToString(bytes[i : i+mediaMaxLen]) } else { mediaData = base64.StdEncoding.EncodeToString(bytes[i:]) } if err = api.UploadVideoAppend(media.MediaIDString, segment, mediaData); err != nil { break } segment += 1 } if err != nil { log.Fatal("Failed to UploadVideoAppend") }
サンプル
Google OAuth2 トークンを取得する with Go
GAE/Go をちょいちょい触っている。
その中の Pull queue を試そうとしたとき、OAuth2 のトークンが必要になったので取得したメモ。
手順
- Google Could Platform の API Manager から認証情報(ClientID, Secret)をつくる
- 下記コマンドを叩く。
[utahta@mbp google-oauth2]% go run oauth2_token.go Input ClientID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com Input Secret: XXXX-XXXXXXXXXXXXXXXXXXXXXX Input Scopes: https://www.googleapis.com/auth/taskqueue,https://www.googleapis.com/auth/taskqueue.consumer Start Execute API ブラウザで以下のURLにアクセスし、認証して下さい。 https://accounts.google.com/o/oauth2/authxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Input auth code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX token is saved to token.json [utahta@mbp google-oauth2]% cat token.json {"access_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","token_type":"Bearer","refresh_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","expiry":"2016-08-16T21:46:52.012038137+09:00"}
ソースコード
トークンめも
リフレッシュトークンは 1 クライアント 25 個まで。それ以上は古いものから消えていく。
Using OAuth 2.0 to Access Google APIs | Google Identity Platform | Google Developers
参考
GolangでGoogle Driveにアクセスするためのトークンを取得 - Qiita
OAuth2.0によるGoogle+ APIのアクセス方法
Google APIのAccess Tokenをお手軽に取得する - Qiita