我很难在 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()
}
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消