【发布时间】:2018-03-17 16:05:07
【问题描述】:
我收到一个错误:API error 7 (images: ACCESS_DENIED)
通常我会将 Firebase 应用与我的 Google App Engine 服务相关联,但由于 Firestore 与 App Engine 不兼容,我必须创建单独的服务实例。但是,现在我需要我的应用引擎图像服务能够引用 firebase 云存储文件夹中的文件。如何设置访问权限,是否需要创建某种在两种服务之间共享的 IAM?
我的应用引擎 go 函数引用 firebase 存储桶 the-other-firebase-app 的示例
func photoHandler(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
v := r.URL.Query()
fileName := v.Get("file")
if (fileName == "") {
fmt.Fprint(w, "file name is required")
} else {
filename := "/gs/the-other-firebase-app.appspot.com/photos/" + fileName;
blobKey,err := blobstore.BlobKeyForFile(c, filename)
if (err == nil) {
url, urlErr := image.ServingURL(c, blobKey, nil)
if (urlErr == nil) {
fmt.Fprint(w, url)
} else {
fmt.Fprint(w, urlErr)
}
} else {
fmt.Fprint(w, "image does not exist")
}
}
}
【问题讨论】:
标签: google-app-engine google-cloud-storage firebase-storage