Привет, я пытаюсь реализовать возобновляемую загрузку в облачное хранилище.Golang google storage возобновляемая загрузка HTTP 401
Но им получить статус: «401 Несанкционированное», StatusCode: 401
И им при условии, что `s что-то с носителем, но я не могу понять другой способ отправить носителя маркера.
Я смог удалить файлы с помощью метода GetClinet.
func GetClinet(c endpoints.Context) *http.Client {
cli := &http.Client{
Transport: &oauth2.Transport{
Source: google.AppEngineTokenSource(c, storage.ScopeReadWrite),
Base: &urlfetch.Transport{Context: c},
},
}
return cli
}
client := GetClinet(con)
url := "https://storage.googleapis.com/bucketName/file.txt"
b := r.Header.Get("Authorization") //parse the bearer from user request
r, err = http.NewRequest("POST", url, nil)
r.Header.Add("Content-Type", "text/plain")
r.Header.Add("Content-Length", "0")
r.Header.Add("x-goog-resumable", "start")
r.Header.Add("Authorization", b)
resp, err := client.Do(r)
Я не уверен, что если «разобрать предъявителя по запросу пользователя» означает, что вы используете веб-сервер и хотите получить доступ к учетной записи Google Cloud Storage пользователя. Если это так, вы можете ознакомиться с: https://developers.google.com/accounts/docs/OAuth2WebServer – rein