php Editor Banana Apabila menggunakan fail kunci JSON akaun perkhidmatan dalam aplikasi Go, anda mungkin menghadapi isu "Permintaan mempunyai bukti kelayakan pengesahan tidak sah". Masalah ini biasanya disebabkan oleh format atau kandungan fail kunci yang salah. Untuk menyelesaikan isu ini, pastikan fail kunci berada dalam format yang betul dan fail kunci mengandungi maklumat pengesahan yang betul. Juga cuba jana semula fail utama dan pastikan ia dikonfigurasikan dengan betul ke dalam aplikasi. Melalui kaedah ini, anda boleh menyelesaikan masalah "permintaan mempunyai bukti kelayakan pengesahan tidak sah" dan menggunakan fail kunci JSON akaun perkhidmatan secara normal.
Saya sedang membangunkan aplikasi go pada projek gcp dan saya menggunakan perkhidmatan pengelogan awan google. Saya menghadapi masalah menjalankan apl kerana ia mengatakan bukti kelayakan pengesahan saya tidak sah apabila saya menggunakan kunci json akaun perkhidmatan.
Ini ialah coretan kod dengan ralat:
c, cerr := load(".env") if cerr != nil { log.fatalf("could not load config: %s", cerr) return } // initializes logger which writes to stdout ctx := context.background() opt := option.withcredentialsfile(c.googleapplicationcredentials); loggerclient, clienterr := logging.newclient(ctx, "poc-projects-01", opt) if clienterr != nil { log.fatal(clienterr) }
Ini adalah definisi fungsi load()
:
func Load(file string) (*Config, error) { viper.SetConfigFile(file) viper.AddConfigPath(".") viper.AutomaticEnv() if err := viper.ReadInConfig(); err != nil { return nil, err } c := &Config{ GoogleApplicationCredentials: viper.GetString("GOOGLE_APPLICATION_CREDENTIALS"), } return c, nil }
Saya mempunyai .env
fail dengan kandungan berikut:
google_application_credentials=json/path-to-json.json
Saya tidak tahu mengapa ia mengatakan token telah tamat tempoh walaupun ini adalah satu-satunya kunci json akaun perkhidmatan yang saya ada pada gcp dan mesin tempatan saya.
Anda boleh menjalankan gcloud auth application-default login
a> dan pastikan anda menetapkannya kepada projek yang betul.
Semak googleapplicationscredentals
sama ada kunci json yang sah ditetapkan dan sama ada pembolehubah persekitaran ditetapkan dengan betul, sila jalankan arahan berikut untuk menyemak
echo $google_application_credentials
Jika arahan tidak mengembalikan laluan yang betul kepada kekunci json, anda boleh menetapkan pembolehubah persekitaran menggunakan arahan berikut:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/json/key.json
Selepas mengesahkan bahawa kunci json adalah sah dan pembolehubah persekitaran ditetapkan dengan betul, anda sepatutnya boleh menjalankan aplikasi anda. Sebagai alternatif, anda boleh cuba memadamkan fail .env dan kemudian menggunakan kekunci json akaun perkhidmatan dan ia harus menjana semula token dan menjadikannya sah.
Penyelesaian masalah tambahandokumen a>untuk rujukan.
Atas ialah kandungan terperinci Mendapatkan 'Permintaan mempunyai bukti kelayakan pengesahan yang tidak sah' apabila menggunakan fail kunci json akaun perkhidmatan dalam aplikasi Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!