回答編集履歴

5

修正

2020/07/07 16:47

投稿

kotori_a
kotori_a

スコア820

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- # APIコンソールで設定したclient_secrets.jsonファイルから認証フローオブジェクトを取得
37
+ # APIコンソールで設定したclient_secrets.jsonファイルから認証フローオブジェクトを生成。
38
38
 
39
39
  flow = Flow.from_client_secrets_file(settings.GOOGLE_OAUTH2_CLIENT_SECRETS_JSON,
40
40
 
@@ -56,9 +56,9 @@
56
56
 
57
57
  class AuthorizeView(View):
58
58
 
59
- #/authorize/ ディレクトリ呼び出し時のview
59
+ #/authorize/ 呼び出し時のview
60
60
 
61
- # client_secrets.jsonから、OAuth認証を開始するためのURLを構築
61
+ # client_secrets.jsonから、OAuth認証を開始するためのURLを作成
62
62
 
63
63
  authurl = flow.authorization_url()[0] # 返値は認証用URLとstateのtupleになっている。
64
64
 
@@ -70,7 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- これによりGoogleの認証サーバでユーザ認証が行われ、アクセストークンの取得に必要な認証コード等がパラメータとして付加されたレスポンスがコールバックURIに飛んできます。
73
+ これによりブラウザ上で認可ページが開き、アカウントを選んで許可すると、Googleの認証サーバでユーザ認証が行われ、アクセストークンの取得に必要な認証コード等がパラメータとして付加されたレスポンスがコールバックURIのviewに飛んできます。
74
74
 
75
75
 
76
76
 
@@ -78,7 +78,7 @@
78
78
 
79
79
  class Oauth2CallbackView(View):
80
80
 
81
- # コールバックURL呼び出し時のview
81
+ # コールバックURI呼び出し時のview
82
82
 
83
83
  def get(self, request, *args, **kwargs):
84
84
 

4

authorization_url() について追記

2020/07/07 16:47

投稿

kotori_a
kotori_a

スコア820

test CHANGED
@@ -19,6 +19,8 @@
19
19
 
20
20
 
21
21
  一応手元では、元記事のソースのDjangoORMStorage使ってる部分をJSONファイル保存&xsrfutilを使用しない形に変えた簡易版スクリプトでアップロード成功するところまでこぎつけました。
22
+
23
+ (ただし、現状csfr対策が抜けているため、そのままwebサービスとして用いることは難しそう)
22
24
 
23
25
  全部ソースにすると文字数なので、さわりだけ記載します。(時間できたらブログかなんかでまとめるかもしれません)
24
26
 
@@ -52,17 +54,39 @@
52
54
 
53
55
  ```
54
56
 
57
+ class AuthorizeView(View):
58
+
59
+ #/authorize/ ディレクトリ呼び出し時のview
60
+
61
+ # client_secrets.jsonから、OAuth認証を開始するためのURLを構築。
62
+
63
+ authurl = flow.authorization_url()[0] # 返値は認証用URLとstateのtupleになっている。
64
+
65
+ # 認証サーバにリダイレクト
66
+
67
+ return redirect(authurl)
68
+
69
+ ```
70
+
71
+
72
+
73
+ これによりGoogleの認証サーバでユーザ認証が行われ、アクセストークンの取得に必要な認証コード等がパラメータとして付加されたレスポンスがコールバックURIに飛んできます。
74
+
75
+
76
+
77
+ ```
78
+
55
79
  class Oauth2CallbackView(View):
56
80
 
57
81
  # コールバックURL呼び出し時のview
58
82
 
59
83
  def get(self, request, *args, **kwargs):
60
84
 
61
- # googleから返ってきたURI中のcodeパラメータを、認証フローに渡し、トークンを獲得。
85
+ # レスポンス中のcodeパラメータを、認証フローに渡し、APIの操作に必要なアクセストークンを獲得。
62
86
 
63
87
  flow.fetch_token(code = request.GET.get('code'))
64
88
 
65
- # フローから資格情報を取り出す
89
+ # 資格情報を変数に格納
66
90
 
67
91
  credentials = flow.credentials
68
92
 
@@ -70,7 +94,7 @@
70
94
 
71
95
 
72
96
 
73
- あとは取り出した資格情報(credentials)をつかってYouTube APIを操作します。
97
+ あとは資格情報(credentials)をつかってYouTube APIを操作します。
74
98
 
75
99
  ```
76
100
 

3

修正

2020/07/07 15:24

投稿

kotori_a
kotori_a

スコア820

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  一応手元では、元記事のソースのDjangoORMStorage使ってる部分をJSONファイル保存&xsrfutilを使用しない形に変えた簡易版スクリプトでアップロード成功するところまでこぎつけました。
22
22
 
23
- 全部ソースにすると文字数なので、さわりだけ記載します。(時間できたらブログかなんかでまとめま
23
+ 全部ソースにすると文字数なので、さわりだけ記載します。(時間できたらブログかなんかでまとめるかもしれせん
24
24
 
25
25
 
26
26
 
@@ -70,9 +70,7 @@
70
70
 
71
71
 
72
72
 
73
- これでやっと資格情報(credentials)を取得できした
73
+ は取り出した資格情報(credentials)をつかってYouTube APIを操作し
74
-
75
- 後はこの資格情報をつかってYouTube APIを煮るなり焼くなりお好きにどうぞ。
76
74
 
77
75
  ```
78
76
 
@@ -84,6 +82,4 @@
84
82
 
85
83
  ```
86
84
 
87
-
88
-
89
- だいたいのことは[公式](https://google-auth-oauthlib.readthedocs.io/en/latest/index.html) [ドキュメント](https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html)に書いてあります。
85
+ 参照[公式ドキュメント1](https://google-auth-oauthlib.readthedocs.io/en/latest/index.html) [公式ドキュメント2](https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html)

2

修正

2020/07/06 23:43

投稿

kotori_a
kotori_a

スコア820

test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  これでやっと資格情報(credentials)を取得できました。
74
74
 
75
- 後はこの資格情報をつかってYouTube APIを煮るなり焼くなります
75
+ 後はこの資格情報をつかってYouTube APIを煮るなり焼くなりお好にどうぞ
76
76
 
77
77
  ```
78
78
 

1

修正

2020/07/06 17:58

投稿

kotori_a
kotori_a

スコア820

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- 認証フローの利用例
27
+ 認証フロー初期設定
28
28
 
29
29
  ```
30
30