要在Facebook应用程序中使用PHP获取用户电子邮件ID,请按照以下步骤操作:
composer require facebook/graph-sdk
require_once 'vendor/autoload.php';
$app_id = 'your_app_id';
$app_secret = 'your_app_secret';
$redirect_uri = 'your_redirect_uri';
$fb = new \Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v12.0',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl($redirect_uri, $permissions);
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (! isset($accessToken)) {
if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
try {
$response = $fb->get('/me?fields=email', $accessToken->getValue());
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$user = $response->getGraphUser();
echo 'Email: ' . $user['email'];
现在,您已经成功获取了用户的电子邮件ID。请注意,这些步骤仅适用于使用PHP的Facebook应用程序。如果您使用的是其他编程语言,请参阅Facebook的官方文档以获取适当的实现。
领取专属 10元无门槛券
手把手带您无忧上云