私はGoogle Calendar APIを使ってアプリを作っていて、Heroku上にそれを構築することを計画しています。
認証に問題があります。通常、私はクレデンシャルJSONファイルを使用しますが、今回はセキュリティ上の理由からHerokuにアップロードしたくありません。
Herokuを認証するにはどうすればいいですか?
とりあえず、私は自分のjsonをenv変数に入れて、 oauth2client
"s from_json
方法。
def get_credentials():
credentials_json = os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
credentials = GoogleCredentials.from_json(credentials_json)
if not credentials or credentials.invalid:
flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
flow.user_agent = APPLICATION_NAME
if flags:
credentials = tools.run_flow(flow, store, flags)
else: # Needed only for compatibility with Python 2.6
credentials = tools.run(flow, store)
print("Storing credentials to " + credential_path)
return credentials
しかし、このコードは完璧ではありません。認証情報が無効な場合は、新しい認証情報を新しいファイルではなくenv変数に書き込むようにします。
もっと良い方法はありますか?
回答:
回答№1は1あなたは HerokuプラットフォームAPI に Heroku環境変数の更新 アプリ内から。