質問編集履歴
1
現在のコードを追記しました。
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
|
+
```
|