首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用PHP在Facebook应用程序中获取用户电子邮件ID?

要在Facebook应用程序中使用PHP获取用户电子邮件ID,请按照以下步骤操作:

  1. 首先,确保您已经注册并创建了一个Facebook应用程序。如果尚未创建,请访问https://developers.facebook.com/ 并创建一个新的Facebook应用程序。
  2. 在创建应用程序后,记下您的应用ID和应用密钥。这些将用于与Facebook API进行身份验证。
  3. 在您的PHP代码中,包含Facebook PHP SDK。您可以通过Composer获取它:
代码语言:txt
复制
composer require facebook/graph-sdk
  1. 在您的PHP代码中,使用以下代码进行身份验证并获取访问令牌:
代码语言:php
复制
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);
  1. 将用户重定向到$loginUrl以便他们可以登录并授权您的应用程序访问其电子邮件ID。
  2. 在用户授权后,Facebook将重定向用户回$redirect_uri,并附带一个代码参数。使用此代码获取访问令牌:
代码语言:php
复制
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;
}
  1. 使用访问令牌获取用户的电子邮件ID:
代码语言:php
复制
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的官方文档以获取适当的实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券