teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

見やすく

2015/11/14 07:01

投稿

Shinog
Shinog

スコア99

title CHANGED
File without changes
body CHANGED
@@ -9,82 +9,7 @@
9
9
 
10
10
  ちなみに、上記ページのURLはこのようになっています。
11
11
  https://www.facebook.com/dialog/oauth?client_id=略&redirect_uri=略&state=略&sdk=php-sdk-3.2.3
12
- また、コードは以下のようになります。
13
12
 
14
13
  今回のような場合、どのように対処すればよいでしょうか?
15
14
 
16
- 何かお分かりの方は、是非ともご教授の程よろしくお願いします。
15
+ 何かお分かりの方は、是非ともご教授の程よろしくお願いします。
17
-
18
- ```php
19
- <?php
20
-
21
- App::uses('AppController', 'Controller');
22
- App::import('vendor', 'facebook/src/Facebook');
23
-
24
- class FacebooksController extends AppController {
25
-
26
- public $facebook;
27
-
28
- public $helper = array('Form', 'Html', 'Session');
29
-
30
- public $uses = array('User');
31
-
32
- public $components = array(
33
- 'Auth' => array(
34
- 'authenticate' => array(
35
- 'Form' => array(
36
- 'userModel' => 'User'
37
- )
38
- ),
39
-
40
- 'loginAction' => array(略),
41
-
42
- 'loginRedirect' => array(略),
43
-
44
- 'logoutRedirect' => array(略),
45
-
46
- 'authError' => 'User Only'
47
- )
48
- );
49
-
50
- public function beforeFilter(){
51
- $this->facebook = new Facebook(array(
52
- 'appId' => '略',
53
- 'secret' => '略',
54
- 'cookie' => true
55
- ));
56
- $this->Auth->allow('index', 'login');
57
- }
58
-
59
- protected function _authFacebook(){
60
- $login_url = $this->facebook->getLoginUrl(array('redirect_uri' => FULL_BASE_URL . Router::url(array('controller'=>'facebooks', 'action'=>'login'))));
61
- return $this->redirect($login_url);
62
- }
63
-
64
- public function login(){
65
- $this->autoRender = false;
66
-
67
- //facebookから取得したidがデータベースに登録されていないか調べる
68
- $fb_id = $this->facebook->getUser();
69
- $login_info = ClassRegistry::init('User')->find('first', array('conditions' => array('User.facebookid' => $fb_id)));
70
-
71
- //データベースに登録されていなければ、新たにデータを取得する
72
- if(empty($login_info)){
73
-
74
- $me = $this->facebook->api('/me','GET',array('locale'=>'ja_JP'));
75
- //問題の友達リスト取得部分
76
- $friends = $this->facebook->api('/me/friends','GET',array('locale'=>'ja_JP'));
77
-
78
-
79
- //登録する値
80
- $data = array(略);
81
- // 登録するフィールド
82
- $fields = array(略);
83
- // 新規登録
84
- $this->User->save($data, false, $fields);
85
-
86
-
87
- }
88
-
89
- }
90
- ```

1

分かりやすく

2015/11/14 07:01

投稿

Shinog
Shinog

スコア99

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,10 @@
7
7
  ![イメージ説明](e800c57db115ca67ec9d1258ed9c0248.png)
8
8
 
9
9
 
10
+ ちなみに、上記ページのURLはこのようになっています。
11
+ https://www.facebook.com/dialog/oauth?client_id=略&redirect_uri=略&state=略&sdk=php-sdk-3.2.3
10
- コードは以下のようになります。
12
+ また、コードは以下のようになります。
13
+
11
14
  今回のような場合、どのように対処すればよいでしょうか?
12
15
 
13
16
  何かお分かりの方は、是非ともご教授の程よろしくお願いします。