この投稿は、GAE cron ジョブで OAuth が必要な操作を行うには?のフォローアップです。@oauth_required
のデコレータを誤用していることに気付きましたOAuth2DecoratorFromClientSecrets
。
OAuth 2.0 説明プレゼンテーションで説明されているように、Oauth 2.0 は次の問題を解決します。
- サービスの構築...
- ...ユーザーがアクセス...
- ...そしてサードパーティからユーザーのデータにアクセスします。
それが@oauth_required
要約であり、うまく機能します(現在、私のアプリは「機能」しています。更新ページをトリガーすると、アプリへのYouTubeデータへのアクセスを許可するように求められ、残りは続きます)。しかし、それは私が望むものではありません! 私のアプリは、ユーザー入力なしで、資格情報を使用して毎日 youtube プレイリストを作成する、より簡単なことを行います。上記の 3 層ネゴシエーションと比較すると、次のようになります。
- サービス_
- ...ユーザーがアクセス
- ...ただし、「サーバー所有」の YouTube プレイリスト データにのみアクセスします。ユーザーの YouTube データにアクセスしたくありません。私 (つまり、私 / サーバーによって永続化されたユーザー ID) が所有するプレイリストを変更したいだけです。
しかし、それを行うにはまだ助けが必要です。ここに私の現在の状態があります:
数回検索した後、私がやりたいことはOffline Accessと呼ばれることを知りました(私のユースケースを強調して
ください)。この例には、月曜日の午前 8 時ちょうどにブロガーの投稿を作成するバックアップ サービスやアプリケーションが含まれます . このスタイルのアクセスはオフラインと呼ばれ、Web サーバー アプリケーションはユーザーにオフライン アクセスを要求する場合があります. 通常の既定のアクセス スタイルはオンラインと呼ばれます. " ...
→だから私は今していることを続け、YouTube アカウントへのアクセスを要求し続けますが、type_access=offline
フラグを使用してトークンを取得し、それを保持/後続の要求に使用する必要があります。オフライン アクセスと 更新トークンの使用セクションは完全に理にかなっていますが、一般的な HTTP レベルにとどまります。まだ初心者なので、これらの原則を自分の Python コードに統合する方法がわかりません。また、サンプルの Python コードも見つかりません
でした... → Python の例を 1 つ、どこでどのように使用するかを説明してくれる人はいますか?この旗?...そして特に、 を勉強した後で
oauth2client.appengine.OAuth2Decorator.oauth_required
も、それを自分のケースに曲げることができるかどうか、または自分のことをすべきかどうかはまだわかりません.
→どう思いますか?
御時間ありがとうございます; 必要に応じて、irc://irc.freenode.net/#appengine にも参加していronj
ます。