为了账号安全,请及时绑定邮箱和手机立即绑定

显示 URL 而非 Go 请求 GCP 响应的代码

显示 URL 而非 Go 请求 GCP 响应的代码

Go
慕神8447489 2022-06-13 15:20:06
我很难在 Google Cloud Platform 中显示方向请求的结果。这是我尝试过的:package mainimport (    "fmt"    "net/http"    "context"    "io/ioutil"    "google.golang.org/appengine"    "google.golang.org/appengine/urlfetch")const directionAPIKey = "MyAppKey"const directionURL = "https://maps.googleapis.com/maps/api/directions/json?origin=%s&destination=%s&mode=%s&key=%s"func main() {    http.HandleFunc("/", handler)}func handler(w http.ResponseWriter, r *http.Request) {    ctx := appengine.NewContext(r)    direction, err := fetchDirection(ctx, r.FormValue("origin"), r.FormValue("destination"), r.FormValue("mode"))    if err != nil {        http.Error(w, err.Error(), http.StatusInternalServerError)        return    }    w.Header().Add("Content-Type", "application/json; charset=utf-8")    w.Write(direction)}func fetchDirection(ctx context.Context, origin string, destination string, mode string) ([]byte, error) {    client := urlfetch.Client(ctx)    resp, err := client.Get(fmt.Sprintf(directionURL, origin, destination, mode, directionAPIKey))    if err != nil {        return nil, err    }    defer resp.Body.Close()    return ioutil.ReadAll(resp.Body)}我成功部署了我的应用程序,但是,上面代码的结果是:Get https://maps.googleapis.com/maps/api/directions/json?origin=&destination=&mode=&key=APIKey not an App Engine context而不是请求的结果。这是来自浏览器的图像。我怎样才能得到想要的结果,而不仅仅是那个 URL?提前致谢。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

我发现当您的 AppEngine 应用程序将运行时设置为 go111 并且应用程序导入任何“google.golang.org/appengine”包但应用程序不调用“ appengine.Main”


method func main() {

    http.HandleFunc("/", handler)

    appengine.Main()

}


查看完整回答
反对 回复 2022-06-13
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信