func main() {
config := &firebase.Config{
ProjectID: "myproject-id",
StorageBucket: "myproject-id.appspot.com",
}
credentialsJSON := os.Getenv("GOOGLE_CREDENTIALS")
creds := google.Credentials{JSON: []byte(credentialsJSON)}
opt := option.WithCredentials(&creds)
app, err := firebase.NewApp(context.Background(), config,
opt)
if err != nil {
log.Fatalln(err)
}
ctx, cancel := context.WithTimeout(context.Background(), time.Second*50)
defer cancel()
client, err := app.Storage(ctx)
if err != nil {
log.Fatalln(err)
}
fmt.Println(client)
bucket, err := client.DefaultBucket()
object := bucket.Object("foo.png")
wc := object.NewWriter(ctx)
r, err := os.Open("/Users/foo/test.png")
defer r.Close()
if _, err = io.Copy(wc, r); err != nil {
log.Error(err)
}
if err := wc.Close(); err != nil {
fmt.Println(err)
log.Error(err)
}
}
Post "https://storage.googleapis.com/upload/storage/v1/b/myproject-id.appspot.com/o?alt=json&name=foo.png&prettyPrint=false&projection=full&uploadType=multipart": oauth2: Transport's Source is nil
Firebase Admin SDK文档清楚地说明,服务帐户对存储帐户具有完全的范围控制,但由于传输令牌源为nil,因此正确引导凭据似乎有些错误。
这是很有帮助的,因为我能够上传一个与管理员使用它的文件。 虽然我仍然不知道如何指定路径,因为这只是把它放在我的firebase存储桶的顶层。有人知道我如何指定一个路径将我的文件与API嵌套得更深吗?
根据文档,我必须把文件名传递给函数才能上传一个文件。 我想能做这样的事
我试图从我的移动混合应用程序(离子3)发送一张图片到我的Heroku后端(Node.js),并让后端将图片上传到Firebase存储,并将新上传的fil下载url返回到移动应用程序。 上载成功,但当我转到Firebase存储控制台时,当我试图显示图片的预览时出现错误,下载时无法从计算机打开它。我想这是一个编码的东西...? 如何检索新上传的文件下载url?我希望在中返回一个对象,就像在函数中一样,
在firebase storage的web sdk中,您可以从Blob数据上载图像。我有一个nodeJS应用程序,想将blob数据中的图像上传到我的存储桶中。在文档中,如果运行节点服务器环境,建议使用AdminSDK。但我在firbase存储管理文档中找不到此功能。 这是我的密码:
我正在为Python使用Firebase Admin SDK。据我所知,在云控制台的IAM部分,admin SDK具有编辑器和存储对象管理角色。有什么方法可以通过Python将上传的对象公之于众? 在docs:Python GCS API中还没有找到其他有用的东西 谢了。 代码示例
我在本地开发服务器上运行代码,但使用在项目上配置的GCS默认桶名。 Python 2.7版