Facebook: проверьте, понравился ли пользователь - PullRequest
2 голосов
/ 21 ноября 2011

Я знаю, что мой вопрос задавался здесь много раз, но для меня ни один ответ не сработал. Я создал вкладку фан-страницы Facebook. Все файлы хранятся в моем личном веб-пространстве. Теперь я хочу определить, понравилась ли пользователю страница или еще не понравилась!

Итак, я использовал этот код:

<?php
    function parsePageSignedRequest() {
        if (isset($_REQUEST['signed_request'])) {
            $encoded_sig = null;
            $payload = null;
            list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
            $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
            $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
            return $data;
        }
        return false;
    }

    if($signed_request == parsePageSignedRequest()) {
        if($signed_request->page->liked) {
            $isteinfan = "false";
        } 
        else {
            $isteinfan = "true";

        }
    }   
    //PHP Variable an JavaScript übergeben
    echo "<script>";
    echo "isteinfan = '$isteinfan';";
    echo "console.log('ist ein fan: ');";
    echo "console.log(isteinfan);";
    echo "</script>";
?>

Но это не работает. Можете ли вы дать мне помощь, пожалуйста! Твой Рафаэль

1 Ответ

7 голосов
/ 21 ноября 2011

Я бы порекомендовал вам включить php-библиотеку facebook, которую вы можете загрузить с https://github.com/facebook/php-sdk/tree/master/src. Вы должны поместить все три файла в один каталог. Тогда вы можете очень легко получить статус liked:

define('APP_ID','xxxxxxxx');
define('APP_SECRET','xxxxxxxx');

require ("facebook.php");

$facebook = new Facebook(array(
    'appId'  => APP_ID,
    'secret' => APP_SECRET,
    'cookie' => true,
));

$signed_request = $facebook->getSignedRequest();

$liked = $signed_request["page"]["liked"];

Теперь $liked - логическое значение, которое может быть true или false

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