从Golang AppEngine快速轻松发布Slack Webhook

问题描述 投票:0回答:1

对于有这个问题的其他人而言,这不是一个问题。为了使这项工作得到了相当多的打击我的头撞墙。 (尽管我喜欢golang,但你的想法有点不同) - 这也可以作为一种通用方式在AppEngine中对外部源进行任何类型的发布。

这是我用来通过webhook将简单消息发布到松弛通道的函数。 (假设你知道如何设置一个松散的webhook - 很容易做到 - https://get.slack.help/hc/en-us/articles/115005265063-Incoming-WebHooks-for-Slack) - 注意:虽然有一些公平的额外参数你可以传入json消息(见上面的链接)简单的东西,如电子邮件地址和如果传入'text'参数,图像网址/网址将由slack自动解析。

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;
}

}

google-app-engine go post slack
1个回答
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;
}

}

© www.soinside.com 2019 - 2024. All rights reserved.