Почему это не сработает? - Он не будет отображать адрес электронной почты пользователей - PullRequest
0 голосов
/ 11 января 2012

Почему в последней строке кода выше не отображается электронная почта для текущего пользователя?Пытались ли вы сделать это в течение нескольких дней, я думаю, что я запрашивал правильное разрешение?

Любая помощь приветствуется, может даже поделиться несколькими фунтами / долларами на PayPal человеку, который может помочь мне выбратьсябеспорядок!

 <?php
/**
 * Copyright 2011 Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may obtain
 * a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

require 'src/facebook.php';
$app_id = "211665122244023";


     $canvas_page = "http://apps.facebook.com/midcitymafia/";

     $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,publish_actions";

     $signed_request = $_REQUEST["signed_request"];

     list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

     $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

$user_id = $data["user_id"];
     if (empty($data["user_id"])) {
            echo("<script> top.location.href='" . $auth_url . "'</script>");
     } else {
                         $graph1 = file_get_contents ("https://graph.facebook.com/".$user_id . "/?accesstoken=" . $data["oauth_token"]);
         $graph=json_decode($graph1,true);
     }



$userid =  $user_id;
$username = $graph['name'];
$usergender = $graph['gender'];
$useremail = $graph['email'];

?>

<br>

<?php echo 'ID: ' . $userid; ?>
<br>
<?php echo 'Name: ' . $username; ?>
<br>
<?php echo 'Gender: ' . $usergender; ?>
<br>
<?php echo 'Email: ' . $useremail; ?>

1 Ответ

0 голосов
/ 12 января 2012

Вам понадобятся расширенные разрешения для электронной почты.https://developers.facebook.com/docs/reference/api/permissions/

Вы можете передать req_perms = email в вызове API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...