Существует несколько основных способов аутентификации с помощью API Google, они описаны здесь:
Способы документированы «3-legged OAuth», «Использование ключей API» и, наконец, «Учетные записи службы».
Из ссылок, которые вы включили в вопрос; вы смотрите на примеры Python / Java / Node «Учетные записи службы».
Использование учетных записей службы в go
. oauthHttpClient
, о котором вы говорите, является http-клиентом который автоматически добавит информацию аутентификации в запросы.
Вы можете создать ее с помощью этого пакета:
https://godoc.org/golang.org/x/ oauth2 / google
В примерах, связанных на других языках, используется «ключевой файл json для учетной записи службы».
Используя метод, приведенный ниже, вы можете прочитать этот ключевой файл и создать jwt.Config
, которая даст вам доступ к клиенту, который вам нужен.
https://godoc.org/golang.org/x/oauth2/google#JWTConfigFromJSON
Идет эквивалент ссылок на другие языки:
data, err := ioutil.ReadFile("/path/to/your-project-key.json")
if err != nil {
log.Fatal(err)
}
conf, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/firebase.remoteconfig")
if err != nil {
log.Fatal(err)
}
// Initiate an http.Client. The following GET request will be
// authorized and authenticated on the behalf of
// your service account.
client := conf.Client(oauth2.NoContext)
client.Get("...")
Вы не инициализировали опцию Spinner из viewOfLayout.
Хорошо, даже если это немного конкретно, я нашел свой ответ:
val view = layoutInflater.inflate(R.layout.sensor_item, container, false)
val insertPoint = viewOfLayout.findViewById(R.id.box_Parent) as LinearLayout
insertPoint.addView(view2, 0)