有没有办法通过django facebookconnect获取facebook用户电子邮件?
我已经在我的项目中集成了django facebookconnect,但当用户登录电子邮件字段保持为空时,我的意思是该应用程序不会保存用户电子邮件 看起来是这样的:有没有办法通过django facebookconnect获取facebook用户电子邮件?,django,facebook,Django,Facebook,我已经在我的项目中集成了django facebookconnect,但当用户登录电子邮件字段保持为空时,我的意思是该应用程序不会保存用户电子邮件 看起来是这样的: user = User(username=request.facebook.uid, password=sha.new(str(random.random())).hexdigest()[:8], email=profile.email) 但是当我检
user = User(username=request.facebook.uid,
password=sha.new(str(random.random())).hexdigest()[:8],
email=profile.email)
但是当我检查它不保存电子邮件时,这是一个错误还是facebook的限制?您需要从facebook获取该信息
<?php
$app_id = "YOUR_APP_ID";
$app_sec = "APP_SEC";
$canvas_page = "APP_CANVAS_PAGE_URL";
$scope = "&scope=user_photos,email,publish_stream"; $auth_url"http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page).$scope;
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode(".", $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, "-_", "+/")), true);
if (empty($data["user_id"])) {
echo(""); }
$access_token = $data["oauth_token"];
$user_id = $data["user_id"];
$user = json_decode(file_get_contents( "https://graph.facebook.com/me? access_token=" . $access_token));
function get_facebook_cookie($app_id, $application_secret) {
$args = array();
parse_str(trim($COOKIE["fbs" . $app_id], "\""), $args);
ksort($args);
$payload = "";
foreach ($args as $key => $value) {
if ($key != "sig") {
$payload .= $key . "=" . $value;
}
}
if (md5($payload . $application_secret) != $args["sig"]) {
return null;
}
return $args;
}
$cookie = get_facebook_cookie($app_id, $app_sec);
?>
你好,达莫达兰!谢谢你的提示,我在这个页面中找到了一种使用JSSDK请求用户权限的方法