У меня была такая же проблема, это печально документация предоставляет только самые трудные способы сделать это, так как для новичка важно сначала сделать как можно проще, но в любом случае это самые простые шаги это:
Если у вас уже есть вход в консоль, перейдите к шагу 5
- Интал gcloud
- Запустить в командной строке
gcloud auth login
- Войдите в систему с учетной записью Google, которой принадлежит проект
В вашем коде ваш клиент конфигурации должен выглядеть так:
ctx := context.Background()
client, err := firestore.NewClient(ctx, projectID)
if err != nil {
log.Fatal(err)
}
Запустить в командной строке gcloud beta auth application-default login
И это все! это как магия, у меня слишком много головной боли, пробуя другие способы.
Это работает для облачного хранилища тоже и любого API облака Google, я думаю,
О вашем коде:
client.Doc("profile/test3")
Вы вообще не получаете никакого документа, просто создаете * DocumentRef , чтобы получить документ, который вы должны сделать:
ctx:=context.Background()
snapShot,err:=client.Doc("profile/test3").Get(ctx)
if err!=nil{
log.Println(err)
return err
}
var myStruct myStructType
if err=snapShot.DataTo(&myStruct);err!=nil{
log.Println(err)
return err
}
Прочитайте документацию для получения дополнительной информации