与其说是对其他人的帮助,不如说是一个问题。做了很多事情我的头靠在墙上以完成这项工作。 (就我对golang的热爱而言,您的想法确实有所不同)-这也将作为在AppEngine中向外部源进行任何形式发布的通用方法。
这是我用来通过webhook将简单消息发布到松弛通道的功能。 (假设您知道如何轻松地设置Webhook-非常容易-https://get.slack.help/hc/en-us/articles/115005265063-Incoming-WebHooks-for-Slack)-注意:虽然有很多附加参数,但您可以在json消息中传递(请参见上面的链接)简单的事情如果将电子邮件地址和图片网址/网址(例如“网址”)传递给“文本”参数,则会自动将其解析为松弛状态。
import (
"bytes"
"google.golang.org/appengine"
"google.golang.org/appengine/urlfetch"
"net/http"
)
func postSlackBetaSignup(req *http.Request, msg string) string {
ctx := appengine.NewContext(req);
request := urlfetch.Client(ctx);
data := []byte("{'text': '" + msg + "'}");
body := bytes.NewReader(data);
resp, err := request.Post("https://hooks.slack.com/services/<<<YOUR WEBHOOK HERE>>>", "application/json", body);
if err != nil {
return err.Error();
} else {
return resp.Status;
}
}
答案 0 :(得分:0)
import (
"bytes"
"google.golang.org/appengine"
"google.golang.org/appengine/urlfetch"
"net/http"
)
func postSlackBetaSignup(req *http.Request, msg string) string {
ctx := appengine.NewContext(req);
request := urlfetch.Client(ctx);
data := []byte("{'text': '" + msg + "'}");
body := bytes.NewReader(data);
resp, err := request.Post("https://hooks.slack.com/services/<<<YOUR WEBHOOK HERE>>>", "application/json", body);
if err != nil {
return err.Error();
} else {
return resp.Status;
}
}