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

質問編集履歴

1

現在のコードを追記しました。

2017/10/04 03:14

投稿

cosmo_tera
cosmo_tera

スコア11

title CHANGED
File without changes
body CHANGED
@@ -47,4 +47,88 @@
47
47
 
48
48
  ###試したこと
49
49
  echo (string) $tokenMetadata["\0*\0user_id"];
50
- →Cannot use object of type
50
+ →Cannot use object of type
51
+
52
+ ###現在のコード
53
+ - ログインリンク生成部
54
+ ```ここに言語を入力
55
+ require_once("sdk/facebook/src/Facebook/Facebook.php");
56
+ require_once("sdk/facebook/src/Facebook/autoload.php");
57
+
58
+ $fb = new Facebook\Facebook([
59
+ 'app_id' => 'xxxxx',
60
+ 'app_secret' => 'xxxxxx',
61
+ 'default_graph_version' => 'v2.10',
62
+ ]);
63
+
64
+
65
+ $helper = $fb->getRedirectLoginHelper();
66
+
67
+ $permissions = ['email']; // Optional permissions
68
+ $loginUrl = $helper->getLoginUrl('リダイレクトするコールバックURL', $permissions);
69
+
70
+ ?>
71
+
72
+ <a href="' . $loginUrl . '"><img src="xxx" /></a>
73
+ ```
74
+
75
+ - リダイレクトするコールバックURL
76
+ ```ここに言語を入力
77
+ session_start();
78
+
79
+ require_once("src/Facebook/Facebook.php");
80
+ require_once("src/Facebook/autoload.php");
81
+
82
+ $fb = new Facebook\Facebook([
83
+ 'app_id' => 'xxxxx',
84
+ 'app_secret' => 'xxxxxxx',
85
+ 'default_graph_version' => 'v2.10',
86
+ ]);
87
+
88
+ $helper = $fb->getRedirectLoginHelper();
89
+
90
+ try {
91
+ $accessToken = $helper->getAccessToken('コールバックURL');
92
+ } catch(Facebook\Exceptions\FacebookResponseException $e) {
93
+ // When Graph returns an error
94
+ echo 'Graph returned an error: ' . $e->getMessage();
95
+ exit;
96
+ } catch(Facebook\Exceptions\FacebookSDKException $e) {
97
+ // When validation fails or other local issues
98
+ echo 'Facebook SDKa returned an error: ' . $e->getMessage();
99
+ exit;
100
+ }
101
+
102
+ if (! isset($accessToken)) {
103
+ if ($helper->getError()) {
104
+ header('HTTP/1.0 401 Unauthorized');
105
+ echo "Error: " . $helper->getError() . "\n";
106
+ echo "Error Code: " . $helper->getErrorCode() . "\n";
107
+ echo "Error Reason: " . $helper->getErrorReason() . "\n";
108
+ echo "Error Description: " . $helper->getErrorDescription() . "\n";
109
+ } else {
110
+ header('HTTP/1.0 400 Bad Request');
111
+ echo 'Bad request';
112
+ }
113
+ exit;
114
+ }
115
+
116
+ // Logged in
117
+ echo '<h3>Access Token</h3>';
118
+ var_dump($accessToken->getValue());
119
+
120
+ // The OAuth 2.0 client handler helps us manage access tokens
121
+ $oAuth2Client = $fb->getOAuth2Client();
122
+
123
+ // Get the access token metadata from /debug_token
124
+ $tokenMetadata = $oAuth2Client->debugToken($accessToken);
125
+ echo '<h3>Metadata</h3>';
126
+ var_dump($tokenMetadata);
127
+ //ここまでサンプルどおり。
128
+
129
+ $tokenMetadata->metadata->user_id;
130
+ (Cannot access protected property)
131
+
132
+ echo $tokenMetadata["\0*\0metadata"]["user_id"];
133
+ (Cannot use object of type)
134
+ ```