私はSOとSEのすべてがこの質問に対する特定の回答を探していて、回答を見つけることができないようです。私はPython Flaskを使ってGoogleカレンダーにアクセスし、条件に基づいてカレンダーに記入する簡単なWebアプリケーションを構築しています。私の問題は、OAuth2でredirect_urisが正しいことです。私のコードは以下の通りです。コードを実行しようとするたびに、リダイレクトURIが間違っていてアプリケーションがそれ以上進まないというエラーが表示されます。それに夢中になっているようなリダイレクトURIはhttp://localhost:8080です。リダイレクトURIを開発者のコンソールに追加する設定をして、そのURIにtailing '/ oauth2callback'(末尾に '/'を付けて)を追加してみました。私はまた、別のURIを完全に指定しようとしましたが、エラーはhttp://localhost:8080を言及し続け、異なるclient_secret.jsonファイルを使用し、flow_from_client_secretsに他のURIを指定しても、他のリダイレクトURIを認識しないようです。また、毎回スクリプトを実行する前にキャッシュをクリアし、クロームのシークレットモードで実行しています。何も助けてくれないようです。私はそれが何か単純でなければならないことを知っています。誰かがそれが何であるかを指摘できれば、私は非常に感謝しています!Python FlaskでOAuth Webアプリケーション用のGoogleカレンダーAPI
SCOPES = 'https://www.googleapis.com/auth/calendar'
CLIENT_SECRET_FILE = 'client_secret_web.json'
APPLICATION_NAME = 'Example Calendar Application'
REDIRECT_URI = 'http://placeholder.com/oauth2callback'
home_dir = os.path.expanduser('~')
credential_dir = os.path.join(home_dir, '.credentials')
if not os.path.exists(credential_dir):
os.makedirs(credential_dir)
redirect_uri=""
credential_path = os.path.join(credential_dir,
'calendar-python-quickstart.json')
store = Storage(credential_path)
credentials = store.get()
flow = client.flow_from_clientsecrets(self.CLIENT_SECRET_FILE,
self.SCOPES, prompt='consent', redirect_uri=self.REDIRECT_URI)
flow.user_agent = self.APPLICATION_NAME
if self.flags:
credentials = tools.run_flow(flow, store, self.flags)
else: # Needed only for compatibility with Python 2.6
credentials = tools.run(flow, store)
print('Storing credentials to ' + credential_path)
return credentials
再び権限を求めるように、〜/ .credentials /カレンダーのpython-quickstart.jsonで作成したファイルを削除する必要がありますと思いますか?私は正直に言うと、頭を壁にぶつけて、しばらくの間行ってきました。まだ動作している回答を追跡することができませんでした。 – Jake