0

このGoogle ドキュメントに基づいて、ターミナルでこれを呼び出すことにより、 Computer Vision API リクエストのトークンを生成できますgcloud auth application-default print-access-token。ただし、Python コードからリクエストを呼び出して、以下のような Python コードから生成しようとしています...

コードはこのドキュメントページに基づいています

with open( environ.get(KEY_ENV_VARIABLE) ) as f:
    key = json.load(f)

iat = time.time()
exp = iat + 3600
payload = {
    'iss': key.get('client_email'),
    'sub': key.get('client_email'),
    'aud': 'https://vision.googleapis.com/google.cloud.automl_v1beta1',
    'iat': iat,
    'exp': exp
}
additional_headers = { "kid": key.get("private_key_id") }
signed_jwt = jwt.encode(payload, key.get("private_key"), headers=additional_headers, algorithm='HS256')
return signed_jwt.decode('utf-8')

トークンは生成されますが、ツールによって生成されたトークンとは長さが異なりgcloudます。

を呼び出すのが最も簡単で迅速な汚い修正であることはわかっていますos.system('gcloud auth application-default print-access-token')。ただし、可能であれば汚い方法を実行したくなく、正しい方法でトークンを生成したいと考えています。

4

1 に答える 1