Python で初めての Google App Engine アプリケーションを開発しようとしています。その一環として、ユーザーが動画を Youtube にアップロードし、アプリの他のユーザーと共有できるようにしたいと考えています。推奨されるプロトコルに従って、アップロードは自分の Youtube アカウントに行われ、アプリがキャプチャする必要がある唯一の情報はビデオ ID です。
アップロードのためにユーザーをメインの Youtube サイトにリダイレクトするのではなく、アプリ内からアップロードする機能を本当に望んでいます。これにより、ユーザーはいつでもアプリを離れる必要がなくなり、物事をシームレスに保つことができます。多くのウェブサイトやアプリが提供したい機能であるように見えるので、これは比較的簡単だと思っていましたが、そうではないようです.
OAuth2 フローと格闘したことがないので、ここで通過する必要がある OAuth2 フローを理解するのに本当に苦労しています。Youtube API ドキュメントの唯一のアップロード サンプル コードは、自分のマシンから (コマンド ライン経由で) アップロードするものであるため、ここでは関係ありません。ドキュメントを逆に読んだところ、ブラウザベースのアップロード機能が Youtube Data Api v3 用に更新されたようには思えないため、最初に必要なのは、使用する前にユーザーからアクセス トークンを取得することです。 v2 ブラウザベースのアップロード プロトコル。ユーザーがブラウザーを介してローカル (つまり、自分のマシン) に保存されているファイルをアップロードすることを考えると、Python サーバー側のフローではなく、クライアント側の JavaScript OAuth2 フローが必要であると推測しています。それとも両方必要ですか?
問題は、JavaScript クライアント ライブラリを使用してアプリからサービスを提供している html ページから、ユーザーを承認ページに移動させることさえできないことです。JavaScript クライアント ライブラリ経由でアクセス トークンを取得する手順を理解していることを確認するために、最初のステップとして、Google サンプル コードをここから HTML ページに文字通りカット アンド ペーストしてみました。
Google API Javascript クライアント ライブラリのサンプル
APIキーとクライアントIDを自分のものに変更し、コンソールのAPIアクセスペインでJavaScriptオリジンを更新し、Google+を承認しましたが、ボタンをクリックしても何も起こりません.
したがって、おそらく私はここでかなり基本的なことを誤解しています!
何か案は?Python アプリ内からのフローの制御によって JS フローがオーバーライドされるという問題はありますか? 実際にサーバー側のフローを使用する必要があるという問題はありますか?
私がこれを試した最初の人だとは信じられません。誰かがすでにこれを管理している、または何かアイデアを持っている場合は、どんな指針にも本当に感謝しています. ありがとうございました。