質問編集履歴

2

見やすく

2015/11/14 07:01

投稿

Shinog
Shinog

スコア99

test CHANGED
File without changes
test CHANGED
@@ -20,8 +20,6 @@
20
20
 
21
21
  https://www.facebook.com/dialog/oauth?client_id=略&redirect_uri=略&state=略&sdk=php-sdk-3.2.3
22
22
 
23
- また、コードは以下のようになります。
24
-
25
23
 
26
24
 
27
25
  今回のような場合、どのように対処すればよいでしょうか?
@@ -29,151 +27,3 @@
29
27
 
30
28
 
31
29
  何かお分かりの方は、是非ともご教授の程よろしくお願いします。
32
-
33
-
34
-
35
- ```php
36
-
37
- <?php
38
-
39
-
40
-
41
- App::uses('AppController', 'Controller');
42
-
43
- App::import('vendor', 'facebook/src/Facebook');
44
-
45
-
46
-
47
- class FacebooksController extends AppController {
48
-
49
-
50
-
51
- public $facebook;
52
-
53
-
54
-
55
- public $helper = array('Form', 'Html', 'Session');
56
-
57
-
58
-
59
- public $uses = array('User');
60
-
61
-
62
-
63
- public $components = array(
64
-
65
- 'Auth' => array(
66
-
67
- 'authenticate' => array(
68
-
69
- 'Form' => array(
70
-
71
- 'userModel' => 'User'
72
-
73
- )
74
-
75
- ),
76
-
77
-
78
-
79
- 'loginAction' => array(略),
80
-
81
-
82
-
83
- 'loginRedirect' => array(略),
84
-
85
-
86
-
87
- 'logoutRedirect' => array(略),
88
-
89
-
90
-
91
- 'authError' => 'User Only'
92
-
93
- )
94
-
95
- );
96
-
97
-
98
-
99
- public function beforeFilter(){
100
-
101
- $this->facebook = new Facebook(array(
102
-
103
- 'appId' => '略',
104
-
105
- 'secret' => '略',
106
-
107
- 'cookie' => true
108
-
109
- ));
110
-
111
- $this->Auth->allow('index', 'login');
112
-
113
- }
114
-
115
-
116
-
117
- protected function _authFacebook(){
118
-
119
- $login_url = $this->facebook->getLoginUrl(array('redirect_uri' => FULL_BASE_URL . Router::url(array('controller'=>'facebooks', 'action'=>'login'))));
120
-
121
- return $this->redirect($login_url);
122
-
123
- }
124
-
125
-
126
-
127
- public function login(){
128
-
129
- $this->autoRender = false;
130
-
131
-
132
-
133
- //facebookから取得したidがデータベースに登録されていないか調べる
134
-
135
- $fb_id = $this->facebook->getUser();
136
-
137
- $login_info = ClassRegistry::init('User')->find('first', array('conditions' => array('User.facebookid' => $fb_id)));
138
-
139
-
140
-
141
- //データベースに登録されていなければ、新たにデータを取得する
142
-
143
- if(empty($login_info)){
144
-
145
-
146
-
147
- $me = $this->facebook->api('/me','GET',array('locale'=>'ja_JP'));
148
-
149
- //問題の友達リスト取得部分
150
-
151
- $friends = $this->facebook->api('/me/friends','GET',array('locale'=>'ja_JP'));
152
-
153
-
154
-
155
-
156
-
157
- //登録する値
158
-
159
- $data = array(略);
160
-
161
- // 登録するフィールド
162
-
163
- $fields = array(略);
164
-
165
- // 新規登録
166
-
167
- $this->User->save($data, false, $fields);
168
-
169
-
170
-
171
-
172
-
173
- }
174
-
175
-
176
-
177
- }
178
-
179
- ```

1

分かりやすく

2015/11/14 07:01

投稿

Shinog
Shinog

スコア99

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,13 @@
16
16
 
17
17
 
18
18
 
19
+ ちなみに、上記ページのURLはこのようになっています。
20
+
21
+ https://www.facebook.com/dialog/oauth?client_id=略&redirect_uri=略&state=略&sdk=php-sdk-3.2.3
22
+
19
- コードは以下のようになります。
23
+ また、コードは以下のようになります。
24
+
25
+
20
26
 
21
27
  今回のような場合、どのように対処すればよいでしょうか?
22
28