秘密鍵書けないので、呼び出し元の main 関数は省略するが、下記のようなコードで出来た。
package main import ( "bufio" "bytes" "encoding/json" "fmt" "net/http" "os" ) type Message struct { Text string `json:"text"` Channel string `json:"channel",omitempty` } func (json1 *Message) PostTo(webHookUrl string) error { bin, err := json.Marshal(json1) if err != nil { return err } fmt.Println(string(bin)) res, err := http.Post(webHookUrl, "application/json", bytes.NewReader(bin)) if err != nil { return err } fmt.Println(res.Status) sc := bufio.NewScanner(res.Body) for sc.Scan() { fmt.Println(sc.Text()) } if err := sc.Err(); err != nil { fmt.Fprintln(os.Stderr, err) } defer res.Body.Close() return nil }
今のところ、自分へのダイレクトメッセージしかポストできないんだよなー。たぶん、権限的な問題だろうね