Подтвердить что ты не робот

Получите идентификатор страницы поклонника Facebook

У меня есть идентификатор пользователя Facebook, который создал данную страницу. Теперь мне нужно, чтобы идентификатор страницы отображался как поле на моем веб-сайте.

У разных пользователей есть собственные страницы Facebook; однако, я знаю, как получить их идентификаторы пользователей Facebook.

4b9b3361

Ответ 1

Вы можете заменить www на график на URL-адрес страницы. Например, id страницы Coca-Cola http://graph.facebook.com/cocacola (первое значение).

Ответ 2

URL-адрес страницы вентилятора будет содержать идентификатор. Например, страница вентилятора

http://www.facebook.com/pages/Stack-Overflow/105665906133609

Идентификатор 105665906133609

Некоторые страницы имеют псевдонимы, которые также можно использовать в качестве идентификатора. Например, страница поклонников морской пехоты

http://www.facebook.com/marinecorps

Таким образом, идентификатор marinecorps

Кроме того, вы можете использовать генератор на странице .

Ответ 3

Идентификатор страницы включен в подписанный запрос. Здесь обновленная версия записи byron для обновления страницы facebook.

$facebook = new Facebook();

$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request['page']['id'];

echo 'page id is ' . $page_id . ' AAAAAAAAAAWWWWWWW YYYYYYEEEEEEEEAAAAAAAAAAAA!';

Ответ 4

это работает с использованием нового php sdk

$page_id = null;
$facebook = new Facebook();
try {
    $signed_request = $facebook->getSignedRequest();
    $page_id = $signed_request['profile_id'];
} catch (FacebookApiException $e) {
    error_log($e);
}

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

Ответ 5

$pages = $facebook->api(array(
'method' => 'fql.query',
'query' => 'SELECT page_id FROM page_admin WHERE uid = '.$uid.''
));

$uid является идентификатором профиля пользователя FB! Запрос Fql с использованием PHP SDK

Ответ 6

перейти http://www.facebook.com/insights/ после входа в свою facebook

нажмите зеленую кнопку в правом верхнем углу ( "проницательность для вашего домена" ) выберите выпадающее значение для своей страницы вуаля, вы видите страницу_ид

(Я видел это на форуме facebook)

Ответ 7

Вот список функций, которые вы можете добавить в facebook sdk. Работает как для графика api, так и для отдыха api.

/*
    Custom functions to get fan page related information
*/
function getSignedData()
{
    if(isset($this->signedData) && !empty($this->signedData))
        return $this->signedData;

    if(!isset($_REQUEST["signed_request"]))
        return false;

    $signed_request = $_REQUEST["signed_request"];

    if(empty($signed_request))
        return false;

    list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

    if(empty($data))
        return false;

    $this->signedData = $data;



    return $data;
}

/*
    Return fan page id, Only return fanpage id for 1st (landing) page of application.
*/
function getFanPageId()
{
    if(!$data = $this->getSignedData())
    {
        return false;
    }
    if(isset($data["page"]["id"]))
        return $data["page"]["id"];

    return false;
}

/*
    Only returns userid, if user has authenticated application
*/
function getFanPageUserId()
{
    if(!$data = $this->getSignedData())
    {
        return false;
    }

    if(isset($data["user_id"]))
    {
        return $data["user_id"];
    }

    return false;
}

/*
Check if visiting user is fan page admin
*/
function checkFanPageAdmin()
{
    if(!$data = $this->getSignedData())
        return false;

    if(isset($data["page"]["admin"]) && $data["page"]["admin"] == 1)
        return true;

    return false;
}

Ответ 8

Я предполагаю, что вы являетесь пользователем, и вам нужен идентификатор страницы, на котором вы являетесь администратором.

Получить идентификатор достаточно просто.

Сначала вам нужно получить список всех страниц, связанных с идентификатором пользователя:

$fanpages = $facebook- > api ('me/accounts? access_token ='. $accessToken);

Затем вы выполните цикл, например:

foreach ($fanpages['data'] as $fanpage)
{
echo "<br />Fan Page Name: ".$fanpage['name'] . " ID: ".$fanpage['id'];
}

Это перечислит все страницы, связанные с идентификатором.

Полный список элементов массива $fanpage см. здесь:

https://developers.facebook.com/docs/reference/api/page/

Ответ 9

Эти ответы, похоже, больше не работают, поскольку на графике теперь требуется токен доступа для большинства, если не всех запросов.

Здесь рабочее решение, которое требуется только для ввода URL страницы facebook.

Что это делает, так это получение страницы facebook как HTML и просмотр (через regex) для JSON entity_id, который имеет числовое значение. Это значение является идентификатором страницы. Это решение, безусловно, не гарантируется для работы навсегда, поскольку содержимое страницы может измениться

/**
 * @param string $facebookUrl
 * @return null|string
 */
function get_facebook_id($facebookUrl)
{
    $facebookId = null;
    $fbResponse = @file_get_contents($facebookUrl);
    if($fbResponse)
    {
        $matches = array();
        if (preg_match('/"entity_id":"([0-9])+"/', $fbResponse, $matches))
        {
            $jsonObj = json_decode("{" . $matches[0] . "}");
            if($jsonObj)
            {
                $facebookId = $jsonObj['entity_id'];
            }
        }
    }
    return $facebookId;
}