質問編集履歴

3

誤字脱字の修正

2015/10/21 01:58

投稿

shinoda
shinoda

スコア75

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  // アプリケーション設定
64
64
 
65
- define('CONSUMER_KEY', '705672-133kgsaek3c0fg6aevqpqgbc2j5h7rg8.apps.googleusercontent.com
65
+ define('CONSUMER_KEY', 'クライアントID
66
66
 
67
67
  ');
68
68
 
@@ -112,11 +112,9 @@
112
112
 
113
113
  // アプリケーション設定
114
114
 
115
- define('CONSUMER_KEY', -133kgsaek3c0fg6aevqpqgbc2j5h7rg8.apps.googleusercontent.com');
115
+ define('CONSUMER_KEY', 'クライアントID');
116
116
 
117
- define('CONSUMER_SECRET', 'owa4GXGyry79Q0lqlVvnsvvv
117
+ define('CONSUMER_SECRET', 'クライアントシークレット');
118
-
119
- ');
120
118
 
121
119
  define('CALLBACK_URL', 'http://localhost/google_connect_php/callback.php');
122
120
 

2

追記致します

2015/10/21 01:58

投稿

shinoda
shinoda

スコア75

test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,179 @@
23
23
  初心者のためコード込みでご教授いただければ幸いです。
24
24
 
25
25
  以上、宜しくお願い致します。
26
+
27
+
28
+
29
+ --------------------------------------------------------------
30
+
31
+ 追記致します
32
+
33
+ いろいろなサイトを参考にさせていただいて以下の様なコードを作成しましたがエラーを吐きました。正直エラーの意味がよくわからないのでご教授いただければ幸いです。
34
+
35
+
36
+
37
+ -------エラー内容-------------
38
+
39
+ 401. That’s an error.
40
+
41
+
42
+
43
+ Error: invalid_client
44
+
45
+
46
+
47
+ The OAuth client was not found.
48
+
49
+ Request Details
50
+
51
+
52
+
53
+ That’s all we know.
54
+
55
+ ---------------------------------
56
+
57
+
58
+
59
+ ```index.php
60
+
61
+ <?php
62
+
63
+ // アプリケーション設定
64
+
65
+ define('CONSUMER_KEY', '705672-133kgsaek3c0fg6aevqpqgbc2j5h7rg8.apps.googleusercontent.com
66
+
67
+ ');
68
+
69
+ define('CALLBACK_URL', 'http://localhost/google_connect_php/callback.php');
70
+
71
+
72
+
73
+ // URL
74
+
75
+ define('AUTH_URL', 'https://accounts.google.com/o/oauth2/auth');
76
+
77
+
78
+
79
+
80
+
81
+ //--------------------------------------
82
+
83
+ // 認証ページにリダイレクト
84
+
85
+ //--------------------------------------
86
+
87
+ $params = array(
88
+
89
+ 'client_id' => CONSUMER_KEY,
90
+
91
+ 'redirect_uri' => CALLBACK_URL,
92
+
93
+ 'scope' => 'openid profile email',
94
+
95
+ 'response_type' => 'code',
96
+
97
+ );
98
+
99
+
100
+
101
+ // リダイレクト
102
+
103
+ header("Location: " . AUTH_URL . '?' . http_build_query($params));
104
+
105
+ ```
106
+
107
+
108
+
109
+ ```callback.php
110
+
111
+ <?php
112
+
113
+ // アプリケーション設定
114
+
115
+ define('CONSUMER_KEY', -133kgsaek3c0fg6aevqpqgbc2j5h7rg8.apps.googleusercontent.com');
116
+
117
+ define('CONSUMER_SECRET', 'owa4GXGyry79Q0lqlVvnsvvv
118
+
119
+ ');
120
+
121
+ define('CALLBACK_URL', 'http://localhost/google_connect_php/callback.php');
122
+
123
+
124
+
125
+ // URL
126
+
127
+ define('TOKEN_URL', 'https://accounts.google.com/o/oauth2/token');
128
+
129
+ define('INFO_URL', 'https://www.googleapis.com/oauth2/v1/userinfo');
130
+
131
+
132
+
133
+
134
+
135
+ //--------------------------------------
136
+
137
+ // アクセストークンの取得
138
+
139
+ //--------------------------------------
140
+
141
+ $params = array(
142
+
143
+ 'code' => $_GET['code'],
144
+
145
+ 'grant_type' => 'authorization_code',
146
+
147
+ 'redirect_uri' => CALLBACK_URL,
148
+
149
+ 'client_id' => CONSUMER_KEY,
150
+
151
+ 'client_secret' => CONSUMER_SECRET,
152
+
153
+ );
154
+
155
+
156
+
157
+ // POST送信
158
+
159
+ $options = array('http' => array(
160
+
161
+ 'method' => 'POST',
162
+
163
+ 'content' => http_build_query($params)
164
+
165
+ ));
166
+
167
+ $res = file_get_contents(TOKEN_URL, false, stream_context_create($options));
168
+
169
+
170
+
171
+ // レスポンス取得
172
+
173
+ $token = json_decode($res, true);
174
+
175
+ if(isset($token['error'])){
176
+
177
+ echo 'エラー発生';
178
+
179
+ exit;
180
+
181
+ }
182
+
183
+ $access_token = $token['access_token'];
184
+
185
+
186
+
187
+
188
+
189
+ //--------------------------------------
190
+
191
+ // ユーザー情報を取得してみる
192
+
193
+ //--------------------------------------
194
+
195
+ $params = array('access_token' => $access_token);
196
+
197
+ $res = file_get_contents(INFO_URL . '?' . http_build_query($params));
198
+
199
+ echo "<pre>" . print_r(json_decode($res, true), true) . "</pre>";
200
+
201
+ ```

1

DBの件を追記

2015/10/19 11:55

投稿

shinoda
shinoda

スコア75

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
 
5
5
  ログイン画面などによく使われるグーグルアカウントでログインというものを実装したいのですが、調べてみても私の知識では少しハードルが高く困っています。
6
+
7
+ 現状クライアントIDを作成するまででつまずいています。
6
8
 
7
9
 
8
10
 
@@ -14,6 +16,8 @@
14
16
 
15
17
  2.アプリケーション側はphpで作成する
16
18
 
19
+ 3.DBは使用しない
20
+
17
21
 
18
22
 
19
23
  初心者のためコード込みでご教授いただければ幸いです。